I’m new to using SmartGWTEE and I’m getting this… “Error: Fields cannot be added to a DataSource after the underlying component has been created.”
I understand that I can’t use setFields twice but is there another solution to solve this? I’m using MySQL for this project.
public class Student extends DynamicForm {
public Student() {
final DynamicForm form1 = this;
final DynamicForm form2 = new DynamicForm();
form1.setItemLayout(FormLayoutType.ABSOLUTE);
form1.setSize("100%", "100%");
form2.setHeight("123px");
DataSource dataSource = DataSource.get("user");
// Student List Grid
final ListGrid listGrid = new ListGrid();
listGrid.setDataSource(dataSource);
listGrid.setShowFilterEditor(true);
listGrid.setAutoFetchData(true);
listGrid.setCanEdit(true);
listGrid.setCanRemoveRecords(true);
listGrid.setFields(
new ListGridField("lastname", "Last Name"),
new ListGridField("firstname", "First Name")
);
listGrid.addRecordClickHandler(new RecordClickHandler() {
public void onRecordClick(RecordClickEvent event) {
form2.reset();
form2.editSelectedData(listGrid);
}
});
listGrid.setRect(6, 6, 200, 500);
form1.addChild(listGrid);
// Account Tab
TabSet tabSet = new TabSet();
tabSet.setRect(212, 6, 850, 500);
Tab tab = new Tab("Account");
form2.setIsGroup(true);
dataSource.setFields(
new DataSourceTextField("username", "User Name"),
new DataSourceTextField("firstname", "First Name"),
new DataSourceTextField("lastname", "Last Name")
);
form2.setDataSource(dataSource);
tab.setPane(form2);
tabSet.addTab(tab);
form1.addChild(tabSet);
}
}