Sencha GXT 3.0如何捕获网格复选框取消选择

时间:2013-01-03 14:05:34

标签: extjs gxt

我想要做的就是每次检查或取消选中使用CheckBoxSelectionModel的网格中的项目时捕获一个事件。使用SelectionHandler可以轻松完成选中/选中的部分。我没有看到任何在多选模式下触发取消选择事件的事情。我有一个包含1000个左右项目的网格,我让用户在地图上多选项目进行跟踪。每当选择发生变化时,扫描整个模型并不是很好,所以我想知道如何处理这个问题。

1 个答案:

答案 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 ...
        }
    };
};

希望这有帮助。