1

I am not able to check or uncheck a Gwt CheckBoxCell . It works fine in Chrome but it doesn't work at all in mozilla . What wrong i am doing ? Please Suggest . When i am selecting selectAllHeader not able to check/uncheck in mozilla though same works in 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();
  • what version of gwt?post ur code.. – mohammed sameen Jul 01 '15 at 10:08
  • I am using GWT 2.4.0 – Savita Yadav Jul 01 '15 at 10:21
  • I remember experiencing something similar with checkboxes, although it was Chrome that gave me problems. My problem was css-related (the mouse click worked only if I pressed the checkboxes' borders). IIRC, I solved it by forcing the use my own css for the checkbox widget. – francesco foresti Jul 01 '15 at 13:16
  • In my case its working fine in chrome but checkbox not getting checked in mozilla . On click of the checkbox the getValue() is not getting called nothing is printed in console and its due to checkbox not working – Savita Yadav Jul 01 '15 at 13:31

1 Answers1

0

it may be browser compatibility issue - meta tag might help you

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

For more details follow below url -

What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?

Community
  • 1
  • 1
Ashish Shetkar
  • 1,166
  • 2
  • 17
  • 29