1

セルテーブルに特別な選択モデルを追加したい。基本的に私がしたい機能は、左側にあるテーブルの行を選択することです。対応するフォームが右側にポップアップします。非常に多くの人が、SelectionChangeHandler で singleSelectionModel を使用することを知っています。しかし、この方法には問題があります。

たとえば、テーブルの行 1 を選択するとします。フォームがポップアップします。閉じるボタンをクリックしてフォームを閉じます。その後、もう一度行 1 を選択しますが、SelectionChangeHandler であるため、イベントは発生しません。これを行う前に、他の行を選択する必要があります。これはダメです。

したがって、これを行うにはいくつかの方法があると思います。

  1. 行を選択した直後に行を選択解除します。
  2. クリック ハンドラーを使用してイベントを発生させます (フォームをポップアップするため)。
  3. これを行うには、他の選択ハンドラーで他​​の選択モデルを使用します。(これについては私は何も考えていませんが)

だから私の質問は、

  1. これに使用できる他の選択ハンドラーの種類を知っている人はいますか?
  2. celltable でクリック ハンドラーを使用した場合、問題はありますか?

これについてもっと知りたいだけです。したがって、どんなアイデアでも歓迎されます。どうもありがとう。

よろしくお願いします。

4

2 に答える 2

1

を使用しNoSelectionModelます。行が選択された後、テーブル ビューは更新されません。つまり、同じ行が選択されていても、change イベントが発生します。

//Here 'Contact' is the datatype of the record
final NoSelectionModel<Contact> selModel = new NoSelectionModel<Contact>();
selModel.addSelectionChangeHandler(new Handler() {
    @Override
    public void onSelectionChange(SelectionChangeEvent event) {
        Contact clickedObject = selModel.getLastSelectedObject();
        GWT.log("Selected " + clickedObject.name);
    }
});
table.setSelectionModel(selModel);
于 2012-06-21T03:50:06.780 に答える
0

各プロジェクトでセルテーブルを使用しています。uが言及したように、行を手動で選択解除するより良い方法。選択したセルテーブルの行などのCSSを変更して、選択後に変更されないようにします。

于 2012-06-21T06:08:29.733 に答える