我想要做的就是每次检查或取消选中使用CheckBoxSelectionModel的网格中的项目时捕获一个事件。使用SelectionHandler可以轻松完成选中/选中的部分。我没有看到任何在多选模式下触发取消选择事件的事情。我有一个包含1000个左右项目的网格,我让用户在地图上多选项目进行跟踪。每当选择发生变化时,扫描整个模型并不是很好,所以我想知道如何处理这个问题。
答案 0 :(得分:4)
你是对的。 SelectionHandler仅提供选中/选中状态。我有类似的要求,我通过覆盖CheckBoxSelectionModel的onSelectChange()方法解决了它。
以下是供您参考的示例代码。
IdentityValueProvider<VO> identity = new IdentityValueProvider<VO>();
CheckBoxSelectionModel<VO> sm = new CheckBoxSelectionModel<VO>(identity) {
protected void onSelectChange(VO model, boolean select) {
super.onSelectChange(model, select);
if (select) {
// Do something on select ...
} else {
// Do something on deselect ...
}
};
};
希望这有帮助。