当用户completeEdit时,gxt GridInlineEditing不会在ListStore中通知数据更改

时间:2015-08-19 11:37:50

标签: gwt gxt

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

所以我写了代码:

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进行操作。 使用下面的代码,我可以通过单击列单元格来修改我的数据。但是在验证时:改变不会出现在我的桌子上。 Grid会调用旧值,直到调用store.commitChanges();

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

最后,我发现了什么问题。我想这会对其他人有所帮助。

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

显然,key keyProvider必须只使用model属性。