How can I pass additional variables to injectFieldsInternal() [message #1032799] |
Wed, 03 April 2013 08:52  |
Eclipse User |
|
|
|
I'm trying to dynamically create fields on a Form based upon metadata that I get from a database before the form is created. The Form is going to be called via a Menu on a record in a AbstractTablePage.
I've managed to find out how to inject fields with the use of overriding the injectFieldsInternal() function, but sofar I havent yet figured out how I can pass a value to indicate how many fields need to be injected.
How can I best do this?
Relevant code in the Form:
@Order(10.0)
public class MainBox extends AbstractGroupBox {
@Override
protected void injectFieldsInternal(List<IFormField> fieldList) {
//int params = this.reportId.intValue();
int params = 1;
for (int i = 1; i < params; i++) {
final int param = i;
fieldList.add(new AbstractStringField() {
@Override
protected String getConfiguredLabel() {
return "Field " + param;
}
});
}
}
@Order(10.0)
public class OkButton extends AbstractOkButton {
}
@Order(20.0)
public class CancelButton extends AbstractCancelButton {
}
}
Code in my page:
@Order(30.0)
public class GenerateReportWithParametersMenu extends AbstractMenu {
@Override
protected String getConfiguredText() {
return TEXTS.get("ProduceerRapportMetParameters");
}
@Override
protected void execAction() throws ProcessingException {
Long reportId = getTable().getReportIDColumn().getSelectedValue();
GenericForm form = new GenericForm(reportId);
form.setGenericFormNr(reportId);
form.startModify();
form.waitFor();
if (form.isFormStored()) {
reloadPage();
}
}
}
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.16239 seconds