SGWT: v10.0p_2014-10-22
FF:26
When switching back between records in the SelectItem, a record's value in the form changes. We're using setDataPath for the server-side only. Below is code to test. Reproduction steps include: Select 1, then 2, then 1; or Select 1, 2, 3.
Thank you.
FF:26
When switching back between records in the SelectItem, a record's value in the form changes. We're using setDataPath for the server-side only. Below is code to test. Reproduction steps include: Select 1, then 2, then 1; or Select 1, 2, 3.
Code:
Record record; Record[] records = new Record[3]; DataSource ds = new DataSource(); public void onModuleLoad() { DataSourceField idField = new DataSourceField("id", FieldType.INTEGER, "Id"); DataSourceField nameField = new DataSourceField("name", FieldType.TEXT, "Name"); idField.setPrimaryKey(true); ds.setFields(idField, nameField); ds.setClientOnly(true); for(int i = 0; i < 3; ++i) { records[i] = new Record(); records[i].setAttribute("id", i); records[i].setAttribute("name", "Foo"+i); } ds.setTestData(records); new DynamicForm(){{ final DynamicForm form = this; setFields(new SelectItem("recordId", "Record"){{ setRequired(true); setDataPath("record/id"); setValueField("id"); //setDisplayField("name"); setOptionDataSource(ds); addChangedHandler(new ChangedHandler() { @Override public void onChanged(ChangedEvent event) { record = getSelectedRecord(); form.setValue("record", record); } }); }}); }}.show(); }
Comment