SmartGWT ListGrid InvalidateCache不会放弃未保存的编辑
我有一个关于SmartGWT ListGrid的问题 下面的用例解释: 有一个ComboBoxItem中加载的记录很少。 ComboBoxItem下面有ListGrid ComboItem具有捕获用户更改的ChangeEvent(未更改)处理程序。 此更改还会触发ListGrid上的fetchData,ListGrid将填充相同的数据 现在,在用户对ListGrid进行一些编辑而不保存它们之后(setAutoSaveEdits为false), 用户继续并更改ComboBoxItem中的选择,它实际上调用ListGrid上的获取操作,然后理想情况下,我应该收到确认放弃编辑。(使用“确定”、“保存”和“取消”按钮) 但是,在调用ListGrid.fetchData之前,我调用了ListGrid.InvalidateCache。调用invalidate cache使ListGrid无法捕获ListGrid的未保存编辑(,如未显示confirm discard edit(确认放弃编辑)弹出窗口),这使我认为未保存的编辑已被放弃,但不会放弃编辑。下次我选择同一条记录时,它将显示编辑值仍然存在的记录 ListGrid上的InvalidateCache是否也应该放弃未保存的编辑 下面是我的示例代码SmartGWT ListGrid InvalidateCache不会放弃未保存的编辑,gwt,smartgwt,Gwt,Smartgwt,我有一个关于SmartGWT ListGrid的问题 下面的用例解释: 有一个ComboBoxItem中加载的记录很少。 ComboBoxItem下面有ListGrid ComboItem具有捕获用户更改的ChangeEvent(未更改)处理程序。 此更改还会触发ListGrid上的fetchData,ListGrid将填充相同的数据 现在,在用户对ListGrid进行一些编辑而不保存它们之后(setAutoSaveEdits为false), 用户继续并更改ComboBoxItem中的选择,它实
ComboBoxItem fileSelectItem = new ComboBoxItem("Select Item",
"Select a Record");
fileSelectItem.setAddUnknownValues(Boolean.FALSE);
fileSelectItem.setValueField("id");
fileSelectItem.setDisplayField("description");
fileSelectItem.setRequired(true);
fileSelectItem.setWidth(600);
final ListGrid grid = new ListGrid();
fileSelectItem
.addChangeHandler(new com.smartgwt.client.widgets.form.fields.events.ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
grid.invalidateCache();
grid.fetchData(new Criteria("key", "value"));
}
});
在文档中的invalidateCache过程中,没有关于放弃更改的任何内容: 无效缓存刷新从服务器加载期间缓存的数据。 您应该使用discardAllEdits方法手动放弃更改: