当用户完成编辑时,gxt GridInlineEditing 不会通知 ListStore 中的数据更改

gxt GridInlineEditing doesn't notify data change in ListStore when the user completeEdit

实际上我正在使用 GWT 和 gxt (3.1) 框架。我想创建一个 editable 网格。

所以我写了代码:

List<ColumnConfig<String[], ?>> l = createColumnList(cols);

gridDataDisplay = new Grid<String[]>(store, new ColumnModel<String[]>(l));

int indice = 0;
final GridEditing<String[]> editing = new GridInlineEditing<String[]>(gridDataDisplay);
for(ColumnConfig<String[], ?> columnConfig : l) {
    if (!notEditable.contains(indice)) {
        ColumnConfig<String[], String> tempColumnConfig = (ColumnConfig<String[], String>) columnConfig;
        editing.addEditor(tempColumnConfig, new TextField());
     }
     indice++;

 }

所以我按照教程Grid Editing。 使用下面的代码,我可以通过单击列单元格来修改我的数据。但是当验证时:更改不会出现在我的 table 上。网格显示旧值直到调用 store.commitChanges();

预先感谢您的帮助。

终于找到问题所在了。我想这会对其他人有所帮助。

当我创建我的 ListStore 时,我使用 keyProvider 一个整数,每次添加新记录时它都会增加。

显然,密钥 keyProvider 必须仅使用模型属性。