Gwt CheckBoxCell检查取消检查问题

Gwt CheckBoxCell检查取消检查问题,gwt,Gwt,我无法选中或取消选中Gwt CheckBoxCell。它在Chrome中运行良好,但在mozilla中根本不起作用。我做错了什么?请建议。当我选择selectAllHeader时,在mozilla中无法选中/取消选中,尽管在chrome中也可以 DataGridTableRowModel headerRow = dataGridTableRowList.get(0); E12CommonUtils.printOnConsole("IN createTableCom

我无法选中或取消选中Gwt CheckBoxCell。它在Chrome中运行良好,但在mozilla中根本不起作用。我做错了什么?请建议。当我选择selectAllHeader时,在mozilla中无法选中/取消选中,尽管在chrome中也可以

    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我记得在复选框中遇到过类似的情况,尽管如此