2012-05-09 52 views
2

我正在使用以下構造函數在可編輯數據網格中創建複選框。GWT:CheckBoxCell和選擇更改事件

CheckboxCell(false, true) 

當我使用這個,然後點擊在該行,選擇改變事件的任何地方不火,我使用單一選擇模式

當我使用,

CheckboxCell(); 

行選擇變化事件觸發,但 1)我們點擊兩次選中或取消選中的單元格。 2)如果我們在複選框中選中或取消選中,只要我點擊任何地方,值就會恢復。

我想找出解決方案,但沒有成功。任何幫助,將不勝感激。

正在使用GWT 2.4.0

回答

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(); 
     } 
    }); 

here gridReport Field是我的模型類。 setCheckb是保存複選框值的布爾變量的setter。