0

ある列にチェックボックスがあり、他の列にウィジェットがあるCellTable内でGWT MultiSelectionModelを使用しています。ユーザーのクリックに基づいて選択ステータスを更新するハンドラーを追加しました。セルが選択されているときにユーザーがいずれかの列の一部をクリックすると、ステータスが正しく更新され、セルが水色から白に変わります。ただし、ユーザーがチェックボックスをクリックしてセルが選択されている場合、チェックボックスはオフになりますが、セルはまだ青色です。さらに奇妙なことに、ステータス更新コードが実行される前にいくつかのブレークポイントがある場合、この問題は発生しません。

それ以外の場合はすべて、セルの状態とチェックボックスの状態が正しく更新されます。オブジェクトが変更されないため、ProvidesKeys インターフェイスを使用していないことに注意してください。

誰でもこれで私を助けることができますか?ご協力いただきありがとうございます。

4

2 に答える 2

1

CheckBoxCellチェックボックスの列、具体的にはコンストラクター (両方のパラメーターCheckboxCell(boolean dependsOnSelection, boolean handlesSelection)に渡すことによって) を使用してみましたか?true

于 2013-06-01T11:10:17.510 に答える
0

MultiSelectionModel を使用すると、ほぼ同じ問題が発生します。私の回避策は、チェックボックスの列を特別なものとして見てから、手動で処理することです。言う:

myDataGrid.addCellPreviewHandler(
  @Override
  public void onCellPreview(final CellPreviewEvent<MyCellData> event){
    if("click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn()){
      doWhatYouWant();
    }
  }
)
于 2013-06-01T05:35:55.170 に答える