Code: Select all
<pe:dynaFormControl type="select" for="select">
<p:selectOneMenu id="select" value="#{data.value}" required="#{data.required}">
<f:selectItems var="s" value="#{userManager[data.propertyName]}" itemLabel="#{s[data.detailLabelfield]}" itemValue="#{s}"/>
</p:selectOneMenu>
</pe:dynaFormControl>
Code: Select all
private void initModel() {
columns = new ArrayList<ColumnModel>();
formModel = new DynaFormModel();
DynaFormRow row = formModel.createRegularRow();
FieldModel model = new FieldModel("photo","hidden",false);
DynaFormControl control = row.addControl(model,"hidden");
Class<?> clazz = Clerk.class;
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
if (field.isAnnotationPresent(EntityInfo.class)) {
EntityInfo entityInfo = field.getAnnotation(EntityInfo.class);
columns.add(new ColumnModel(entityInfo.info(),field.getName()));
row = formModel.createRegularRow();
DynaFormLabel label = row.addLabel(entityInfo.info());
FieldModel fmodel = new FieldModel(field.getName(), entityInfo.info(), entityInfo.required());
if (!entityInfo.detailLabelfield().isEmpty()) {
fmodel.setDetailLabelfield(entityInfo.detailLabelfield());
}
control = row.addControl(fmodel,entityInfo.editor());
label.setForControl(control);
}
}
}
Please visit my homework on github:
https://github.com/integrityhu/Homework4PFExtDynaForm
The source of whole index.xhtml here
The managed bean code is here