Gwt CheckBoxCell检查取消检查问题
我无法选中或取消选中Gwt CheckBoxCell。它在Chrome中运行良好,但在mozilla中根本不起作用。我做错了什么?请建议。当我选择selectAllHeader时,在mozilla中无法选中/取消选中,尽管在chrome中也可以Gwt CheckBoxCell检查取消检查问题,gwt,Gwt,我无法选中或取消选中Gwt CheckBoxCell。它在Chrome中运行良好,但在mozilla中根本不起作用。我做错了什么?请建议。当我选择selectAllHeader时,在mozilla中无法选中/取消选中,尽管在chrome中也可以 DataGridTableRowModel headerRow = dataGridTableRowList.get(0); E12CommonUtils.printOnConsole("IN createTableCom
DataGridTableRowModel headerRow = dataGridTableRowList.get(0);
E12CommonUtils.printOnConsole("IN createTableComponent================="+ headerRow);
int width = 50;
final MultiSelectionModel<DataGridTableRowModel> multiSelectionModel = new MultiSelectionModel<DataGridTableRowModel>();
this.setSelectionModel(multiSelectionModel,DefaultSelectionEventManager.<DataGridTableRowModel> createCheckboxManager(0));
multiSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler()
{
public void onSelectionChange(SelectionChangeEvent event)
{
count++;
E12CommonUtils.printOnConsole("Inside select : ");
Set<DataGridTableRowModel> set = multiSelectionModel.getSelectedSet();
Iterator it = set.iterator();
selectedValues = new StringBuffer();
selectedNames = new StringBuffer();
while (it.hasNext())
{
DataGridTableRowModel row = (DataGridTableRowModel) it.next();
E12CommonUtils.printOnConsole("Inside select = "+ row.getCellText(1));
selectedValues.append(row.getCellText(1) + ":");
E12CommonUtils.printOnConsole("AFTER APPENDING selectedValues = "+ row.getCellText(1));
selectedNames.append(row.getCellData(1).getName() + ":");
}
}
});
E12CommonUtils.printOnConsole("IN $$$$$$$$$$$$$$$$$=================135");
final Column<DataGridTableRowModel, Boolean> checkColumn = new Column<DataGridTableRowModel, Boolean>(new E12CheckBoxCell(false, false))
{
@Override
public Boolean getValue(DataGridTableRowModel dataGridTRModel)
{
boolean isSelected = multiSelectionModel.isSelected(dataGridTRModel);
E12CommonUtils.printOnConsole("checkColumn isSelected["+ isSelected + "]\tprotect["+ dataGridTRModel.getCellData(0).isProtect() + "]");
getFieldUpdater().update(0, dataGridTRModel, isSelected); // If commented deselect all works
return isSelected;
}
};
checkColumn.setFieldUpdater(new FieldUpdater<DataGridTableRowModel, Boolean>()
{
@Override
public void update(int idx,DataGridTableRowModel dataGridTRModel,Boolean value)
{
try
{
CellData cellData = dataGridTRModel.getCellData(0);
cellData.setData(String.valueOf(value));
dataGridTRModel.setCellData(0, cellData);
multiSelectionModel.setSelected(dataGridTRModel, value);
}
catch (Exception e)
{
Window.alert("Exception in checkColumn.setFieldUpdater : "+ e.getMessage());
}
}
});
CheckboxCell checkAll = new CheckboxCell();
// E12CheckBoxCell checkAll = new E12CheckBoxCell(false, false);
Header<Boolean> selectAllHeader = new Header<Boolean>(checkAll){
@Override
public Boolean getValue()
{
E12CommonUtils.printOnConsole("IN getValue()=========");
return false;
}
};
selectAllHeader.setUpdater(new ValueUpdater<Boolean>(){
@Override
public void update(Boolean selected)
{
for (DataGridTableRowModel ele : getVisibleItems())
{
E12CommonUtils.printOnConsole("IN update**************");
multiSelectionModel.setSelected(ele, selected);
}
}
});
this.addColumn(checkColumn, selectAllHeader);
this.setColumnWidth(checkColumn, 20, Unit.PX);
for (int i = 1; i < headerRow.getRowData().size(); i++)
{
final int index = i;
final String colName = headerRow.getCellData(index).getName();
width = 25;// TODO
E12CustomColumn column = new E12CustomColumn(index, false);
this.setColumnWidth(column, width + "px");
// Add a selection model to handle user selection.
ResizableHeader<DataGridTableRowModel> header = new ResizableHeader<DataGridTableRowModel>(colName, this, column) {
@Override
public String getValue()
{
return colName;
}
};
// this.addColumn(column, selectAllHeader,header);
// this.addColumn(selectAllHeader, header);
this.addColumn(column, header);
}
dataProvider.addDataDisplay(this);
dataProvider.refresh();
DataGridTableRowModel headerRow=dataGridTableRowList.get(0);
E12 CommonUtils.printOnConsole(“在createTableComponent中====================”+headerRow);
整数宽度=50;
最终MultiSelectionModel MultiSelectionModel=新的MultiSelectionModel();
此.setSelectionModel(multiSelectionModel,DefaultSelectionEventManager.createCheckboxManager(0));
multiSelectionModel.addSelectionChangeHandler(新的SelectionChangeEvent.Handler()
{
选择更改时公共无效(选择更改事件)
{
计数++;
E12 CommonUtils.printOnConsole(“内部选择:”);
Set=multiSelectionModel.getSelectedSet();
Iterator it=set.Iterator();
selectedValues=新建StringBuffer();
selectedNames=新建StringBuffer();
while(it.hasNext())
{
DataGridTableRowModel行=(DataGridTableRowModel)it.next();
E12 commonutils.printonsole(“内部选择=“+row.getCellText(1));
selectedValues.append(row.getCellText(1)+“:”);
E12 CommonUtils.PrintOnSolle(“在附加selectedValues=“+row.getCellText(1))之后);
selectedNames.append(row.getCellData(1.getName()+“:”);
}
}
});
E12 CommonUtils.printOnConsole(“IN$$$$$$$$$$$$$$$$$$$$$================135”);
最终列检查列=新列(新E12CheckBoxCell(false,false))
{
@凌驾
公共布尔getValue(DataGridTableRowModel dataGridTRModel)
{
布尔isSelected=multiSelectionModel.isSelected(dataGridTRModel);
E12CommonUtils.PrintOnSolle(“选中列isSelected[“+isSelected+”]\t保护[“+dataGridTRModel.getCellData(0.isProtect()+”]);
getFieldUpdater().update(0,dataGridTRModel,isSelected);//如果已注释,请取消选择所有作品
选举产生的回报;
}
};
checkColumn.setFieldUpdater(新的FieldUpdater()
{
@凌驾
公共无效更新(int idx、DataGridTableRowModel、dataGridTRModel、布尔值)
{
尝试
{
CellData CellData=dataGridTRModel.getCellData(0);
setData(String.valueOf(value));
dataGridTRModel.setCellData(0,cellData);
multiSelectionModel.setSelected(dataGridTRModel,值);
}
捕获(例外e)
{
警报(“checkColumn.setFieldUpdater中的异常:+e.getMessage());
}
}
});
CheckboxCell checkAll=新的CheckboxCell();
//E12CheckBoxCell checkAll=新的E12CheckBoxCell(假,假);
页眉selectAllHeader=新页眉(全选){
@凌驾
公共布尔getValue()
{
E12CommonUtils.printonConsolle(“在getValue()=============”;
返回false;
}
};
选择AllHeader.setUpdater(新的ValueUpdater(){
@凌驾
公共无效更新(已选择布尔值)
{
对于(DataGridTableRowModel ele:getVisibleItems())
{
E12 CommonUtils.PrintOnSolle(“更新中的***********”);
multiSelectionModel.setSelected(ele,selected);
}
}
});
this.addColumn(选中Column,选择AllHeader);
这个.setColumnWidth(checkColumn,20,Unit.PX);
对于(int i=1;i
这可能是浏览器兼容性问题-meta标记可能对您有所帮助
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
有关更多详细信息,请访问下面的url-
这可能是浏览器兼容性问题-meta标记可能对您有所帮助
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
有关更多详细信息,请访问下面的url-
什么版本的gwt?发布您的代码..我正在使用gwt 2.4.0我记得在复选框中遇到过类似的情况,尽管如此