Gwt 如何在显示时自动选中gridview中的复选框?

Gwt 如何在显示时自动选中gridview中的复选框?,gwt,gridview,checkbox,gxt,setvalue,Gwt,Gridview,Checkbox,Gxt,Setvalue,我正在使用GXT3构建一个显示“事件”的GridView 我想做的是,当它呈现它时,我希望根据数据库中的布尔值,选中一些复选框,清空其他复选框 下面是我的代码: CheckBoxSelectionModel<IncidentDto> isIncidentCM = new CheckBoxSelectionModel<IncidentDto>(incidentProperties.incident()); allColumns.add(isI

我正在使用GXT3构建一个显示“事件”的GridView

我想做的是,当它呈现它时,我希望根据数据库中的布尔值,选中一些复选框,清空其他复选框

下面是我的代码:

        CheckBoxSelectionModel<IncidentDto> isIncidentCM = new CheckBoxSelectionModel<IncidentDto>(incidentProperties.incident());
        allColumns.add(isIncidentCM.getColumn());
        ColumnModel<IncidentDto> columnModel = new ColumnModel<IncidentDto>(allColumns);

        final Grid<IncidentDto> grid = new Grid<IncidentDto>(store, columnModel);
        grid.setSelectionModel(isIncidentCM);
        add(grid);
CheckBoxSelectionModel isIncidentCM=新的CheckBoxSelectionModel(incidentProperties.incident());
添加(isIncidentCM.getColumn());
ColumnModel ColumnModel=新ColumnModel(所有列);
最终网格=新网格(商店、模型);
grid.setSelectionModel(isIncidentCM);
添加(网格);
以及IncidentProperties值提供程序:

IdentityValueProvider<IncidentDto> incident();
IdentityValueProvider事件();

我不确定是否可以将选择值绑定到布尔属性,但可以向网格中添加侦听器,以根据布尔条件更新复选框

grid.addBeforeShowHandler(BeforeShowEvent event) {
  @Override
  public void onBeforeShow(BeforeShowEvent event) {
    List<IncidentDto> itemsToSelect = new ArrayList<IncidentDto>();
    for (IncidentDto incident : store.getAll()) {
      if (incident.getBooleanProperty()) { //whatever your property is called
        itemsToSelect.add(incident);
      }
    }
    isIncidentCM.setSelection(itemsToSelect);
  }
}
grid.addBeforeShowHandler(BeforeShowEvent事件){
@凌驾
展会前公共作废(展会前事件){
List itemsToSelect=newarraylist();
for(偶然事件:store.getAll()){
如果(incident.getBooleanProperty()){//调用您的属性
itemsToSelect.add(事件);
}
}
isIncidentCM.setSelection(项目选择);
}
}
使用BeforeShowEvent可能会有其他影响,具体取决于您填充存储、渲染网格等的方式/时间。但假设您的存储已完全加载,并且存储对象中的属性可用,我相信这应该可以实现您的目标