У меня есть 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 помочь мне...
Спасибо.