我在cellClick上有一个监听器,我得到了所选的记录,但我找不到一种方法来理解是否检查了这条记录
方法ListGrid.isSelected(ListGridRecord)如果选择了行则返回true,而不是选中
我的代码:
listGrid.setSelectionAppearance(SelectionAppearance.CHECKBOX);
listGrid.addCellClickHandler(new CellClickHandler() {
@Override
public void onCellClick(CellClickEvent event) {
if(event.getColNum() == 0 && idMenu != null){
boolean isChecked = event.getRecord().???;
if(isChecked)
....
else
....
}
我也尝试过event.getRecord()。getAttributeAsBoolean(“_ checkField”)但没有成功......
答案 0 :(得分:1)
我找到了一个简单的解决方案......
我的任务是通过名为DataSource的特殊布尔字段来解决的,例如“已检查” 在ListGrid中,我有一个“已检查”字段,使用RecordClickHandler,我可以管理检查或取消选中事件。
DataSource代码:
DataSourceBooleanField checkField = new DataSourceBooleanField(“checked”);
ListGrid代码:
listGrid.addRecordClickHandler(new RecordClickHandler(){
@Override
public void onRecordClick(RecordClickEvent event) {
Record rec = event.getRecord();
boolean checked = rec.getAttributeAsBoolean("checked");
if(checked){
...
}else{
...
}
rec.setAttribute("checked", !checked);
catPgrid.saveAllEdits();
catPgrid.refreshFields();
}
});
ListGridField checkField = new ListGridField("checked", "Sel");
答案 1 :(得分:0)
也许getSelectedRecords()方法可以帮到你!
这肯定会提供所有选中的记录(使用复选框)但是应该有一些值可以用来唯一地识别每条记录!