양식의 현재 값은 DynamicForm#getValues()으로 액세스 할 수 있습니다.
DynamicForm#rememberValues(), DynamicForm#setValues() 및 DynamicForm#resetValues()도보십시오.
편집 된 값을 얻으려면이 샘플 코드를 사용해보십시오.
public void onModuleLoad() {
VLayout vLayout = new VLayout();
ComboBoxItem comboBoxItem = new ComboBoxItem();
comboBoxItem.setShowTitle(false);
comboBoxItem.setValueMap("mouse", "cat", "cow", "dog");
TextItem textItem = new TextItem();
textItem.setShowTitle(false);
CheckboxItem checkboxItem = new CheckboxItem();
checkboxItem.setShowTitle(false);
checkboxItem.setTitle("");
final DynamicForm dynamicForm = new DynamicForm();
dynamicForm.setItems(comboBoxItem, checkboxItem, textItem);
vLayout.addMember(dynamicForm);
// default values
textItem.setValue("abc");
comboBoxItem.setValue("cat");
checkboxItem.setValue(true);
// Remember values
dynamicForm.rememberValues();
// store default values
final Map<?, ?> defaultValues = dynamicForm.getValues();
Button button = new Button("check");
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Map<?, ?> newValues = dynamicForm.getValues();
for (Object key : defaultValues.keySet()) {
if (!defaultValues.get(key).equals(newValues.get(key))) {
System.out.println(key + " - old value: " + defaultValues.get(key)
+ " - new value: " + newValues.get(key));
}
}
}
});
vLayout.addMember(button);
RootPanel.get().add(vLayout);
}
출력 :
isc_TextItem_0 - old value: abc - new value: xyz
isc_ComboBoxItem_0 - old value: cat - new value: cow
isc_CheckboxItem_0 - old value: true - new value: false
스냅 샷 :
가 DSRequest#setOldValues()와보십시오. 테스트하지
샘플 코드 :
DSRequest requestProperties=new DSRequest();
requestProperties.setOldValues(oldValues);
dynamicForm.saveData(new DSCallback() {
@Override
public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest) {
...
}
}, requestProperties);