当网格单元中的复选框更改其状态时,我需要更新存储:从存储中添加或删除值。如何处理此事件?顺便说一句,我用以下方式在网格中创建复选框:
column = new ColumnConfig();
column.setId("accepted");
column.setHeader("Accepted");
column.setWidth(55);
UPD2:现在我执行以下操作:按照最初的决定创建复选框:
CheckColumnConfig checkColumn = new CheckColumnConfig("accepted", "", 55);
CellEditor checkBoxEditor = new CellEditor(new CheckBox());
checkBoxEditor.setToolTip("If you click here server will consider this rule checking your messages");
checkColumn.setEditor(checkBoxEditor);
checkColumn.setHeader("apply");
configs.add(checkColumn);
而不是像这样处理网格中的事件:UPD3:
grid.addListener(Events.CellMouseUp, new Listener<GridEvent>() {
@Override
public void handleEvent(GridEvent be) {
PropertyItem item;
if (grid.getStore().getAt(be.getRowIndex()).isAccepted()){
item = new PropertyItem(val1, val2, val3, true);
} else {
item = new PropertyItem(val1, val2, val3, false);
}
store.update(item);
store.commitChanges();
saveProperties(store, customerId, toRemove);
}
});
这是正确的方法。
根据此处找到的文档,您可以将侦听器添加到CellEditor
的完成
事件中。在完成
事件Listener
中,执行您需要完成的任何活动。
更新:尝试以下操作
column.setRenderer(new GridCellRenderer() {
@Override
public Object render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, final ListStore store, Grid grid) {
CheckBox box = new CheckBox();
box.addListener(Events.Change, new Listener<FieldEvent>() {
@Override
public void handleEvent(FieldEvent be) {
st.commitChanges();
saveProperties(st, customerId, toRemove);
// I'm not sure what saveProperties is, but see if this works now.
// this event should DEFINITELY be fired when the checkbox is clicked
// so if it doesn't work, try changing how you do your code here
// maybe by doing model.set(property, (Boolean) be.getValue()); or something
}
});
return box;
}
});
如何将网格组的总值与组的类型放在同一行中? 比如:[-]水果4.00美元 香蕉2美元 苹果2.00美元 所以当我的团队崩溃时,我有这个 []水果4.00美元
我只想在每次使用CheckBoxSelectionModel选中或取消选中网格中的项目时捕获一个事件。使用SelectionHandler,选中/选中的部分很容易。不过,我没有看到任何在多选模式下引发取消选择事件的情况。我有一个包含1000个左右项目的网格,我允许用户在地图上多选择要跟踪的项目。每当选择发生变化时,扫描整个模型的表现并不好,所以我想知道如何处理这个问题。
如何制作此网格: 它不起作用,我明白了: 我发现了这个:点击 但GXT 3。*没有FitLayout 有什么想法吗?
我使用的是GXT 3.0.0b。 我在ContentPanel上有一个网格。当我明确设置ContentPanel宽度时,滚动没有问题。但是当我把网格放在VerticalLayoutContainer中时,网格的垂直滚动条消失了,只能用鼠标滚轮滚动。 有人知道如何解决这个问题吗?
我正在做一个3年前的GXT项目。我有一个可编辑的网格,我想在编辑同一行的一个单元格,比如单元格A,另一个单元格,比如单元格B时更新它的值。事实上,单元格B必须代表基于单元格A字段值的一些计算。这是我用来捕获单元格A字段更改的代码: 这是我计算和更新单元格B值所做的事情: 当我用新的bean更新存储时,网格的行编辑器中没有显示单元格B的值,为了显示单元格B的值,我必须调用网格。getView()。刷
我使用的网格使用分页,因此它使用ListLoader/MemoryProxy来管理页面。但在这种情况下,商店在任何给定时间都只知道当前页面中的项目。我还使用了支持排序的GroupingView(remoteSort=false)。但它只根据商店中的内容进行排序,即当前页面。但是,如果一个组扩展到第二个页面,排序将不考虑另一个页面上的组条目,因此在这种情况下排序是不正确的。有人对如何解决这个问题有什