GWT CellTable CheckboxCell Не работает в IE8

У меня есть CellTable с CheckboxCell.

Я добавил к нему следующий обработчик:

private static Column<AIDataRecord, Boolean> m_checkColumn = 
    new Column<AIDataRecord, Boolean>(new CheckboxCell(true, false)) 
    {
        @Override
        public Boolean getValue(AIDataRecord object) 
        {
            // Get the value from the selection model.
            return object.isSelected();
        }   
        @Override
        public void onBrowserEvent(Context context, Element elem, AIDataRecord object, NativeEvent event) 
        {
            System.out.println("Browser Event Called");
            super.onBrowserEvent(context, elem, object, event); 
            String eventType = event.getType();
            if ("change".equals(eventType)) 
            {
                System.out.println("Value changed");
                object.toggleSelection();
                System.out.println("Nw : "+object.isSelected());
            }
        }
    };

где object.toggleSelection() — это метод, который меняет логическое поле, т.е. true на false и false на true.

Я использую этот код, чтобы найти, установлен ли какой-либо флажок или нет, чтобы идентифицировать какую-либо строку.

Эта штука прекрасно работает во всех основных браузерах, кроме IE 8.

В IE 8 я получаю object.isSelected() true, но все же, когда я нажимаю кнопку на этой панели, чтобы удалить строку, она показывает isSelected() false для той же строки.

Может ли кто-нибудь помочь мне с тем, где я должен попытаться найти проблему? Почему IE ведет себя по-другому??

Может ли кто-нибудь из экспертов по Java/GWT помочь мне...

Спасибо.


person gprathour    schedule 26.07.2012    source источник


Ответы (1)


Почему бы вам не назначить FieldUpdater для вашего столбца? Это намного проще. Например:

m_checkColumn.setFieldUpdater(

    new FieldUpdater<AIDataRecord, Boolean>() {
         @Override
         public void update(int index, AIDataRecord object, Boolean value) {
            object.toggleSelection();
            Window.alert("Nw : " + object.isSelected());
         }
    }

);
person Lucas A.    schedule 11.10.2012
comment
Эй, спасибо за ответ... Но я уже закончил этот проект. Тем не менее, поскольку вы единственный, кто ответил, я принимаю это. - person gprathour; 20.01.2013