CheckboxCellを含むCellTableがあります。
次のハンドラーを追加しました。
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になります。
私はこのコードを使用して、チェックボックスが選択されているかどうかを確認し、行を識別していません。
これは、IE8を除くすべての主要なブラウザーで完全に正常に機能しています。
IE 8では、object.isSelected()trueを取得しますが、それでもそのパネルのボタンをクリックして行を削除すると、同じ行に対してisSelected()falseが表示されます。
どんな体でも問題を見つけるためにどこで私を助けてくれますか?IEの動作が異なるのはなぜですか?
Java/GWTの専門家が私を助けてくれますか...
ありがとう。