2

我正在使用以下构造函数在可编辑的数据网格中创建一个复选框单元格。

CheckboxCell(false, true)

当我使用它并单击行中的任何位置时,不会触发选择更改事件,并且我正在使用单选模型

当我使用时,

CheckboxCell();

选择更改事件在行上触发,但是,1)我们单击两次以选中或取消选中单元格。2)如果我们选中或取消选中复选框单元格,只要我点击任何地方,该值就会恢复。

我正在尝试找出解决方案,但尚未成功。任何帮助,将不胜感激。

我正在使用GWT 2.4.0

4

1 回答 1

2

问题是因为选择如果可能的话不要使用选择模型。并为复选框列添加字段更新器。我用过这个:

Column< GridReportFields, Boolean > cb = new Column< GridReportFields, Boolean >(new CheckboxCell() ) { 
                    @Override

        public Boolean getValue(GridReportFields object) {
            // TODO Auto-generated method stub
            return object.getCheckb();
        }
    };
    cb.setFieldUpdater(new FieldUpdater<GridReportFields, Boolean>() {

        @Override
        public void update(int index, GridReportFields object, Boolean value) {
            // TODO Auto-generated method stub
            object.setCheckb(value);
            dataGrid.redraw();
        }
    });

这里 gridReport 字段是我的模型类。setCheckb 是保存复选框值的布尔变量的设置器。

于 2012-11-08T04:23:50.817 回答