我使用一个网格来选择项目,另一个用于显示所选项目。我无法更新新网格。
在伪代码中:
selectionGrid = new Grid();
selectionGrid.addlistener(new listener {
update();
});
void update() {
targetGrid = new Grid(selectionGrid.getstore().getselecteditems(), columns);
}
我可以第一次更新targetgrid,但在新选择后再次更新它。
我应该采取不同的方式吗?
感谢。
答案 0 :(得分:1)
这就是它 - 制作两个网格,一个是原始项目,另一个是空ListStore
。更新通话应该store.addAll(selected)
,但可能首先store.clear()
。
这些方法假设GXT 3 - 在GXT 2中,我认为它是store.add(selected)
和store.removeAll()
。在2中你可能还会发现Events.SelectionChange
没有被Grid触发,而是由它SelectionModel
- 读取javadoc以确定每个类触发的事件。在GXT 3中,事件通过公开的HasSelectionHandlers
接口清楚地显示,表明您可以为选择事件添加处理程序。
如果这仍然不起作用,请考虑发布一个几乎可以运行的示例来准确演示您尝试过的内容。