0

2 つのグリッドで同じコードを使用しており、1 つのテーブルSelectionMode.MULTIでは期待どおりに動作しますが、それを選択した直後のもう 1 つのグリッドでは (選択が表示されていることがわかります)、瞬く間に行が選択解除されます。元に戻すとSelectionMode.SINGLE、すべてが機能します。同様に、この奇妙な動作は複数のブラウザーにまたがっています。これはまったく同じコードで、すべてが正しいように見えます。

したがって、これのデバッグを開始する場所についても助けていただけますか? にフックを追加しようとしましたが、SelectionListener正しく起動しているため、再選択されている (選択されていない) わけではありません。この奇妙な動作をどこで、またはどのようにデバッグするかについて、私は完全に迷っています...

grid.setItems()また、初期化以外に setItems() への呼び出しがないようなものも探しました。

さらに奇妙なのは、(列ヘッダーのボックスをクリックして) すべて選択できることです。すべての項目が選択されます。その後、不要な行を選択解除できます。ただし、行の選択を解除すると、すべてを選択しない限り、行を再選択できなくなります...

更新:この問題はさらに奇妙になりました。1 つのグリッドは請求書用で、もう 1 つのグリッドは領収書用でした。どちらも同じ親クラスを拡張しました。請求書は常に機能しましたが、領収書は機能しませんでした。テストの一環として、親クラスを使用し、レシート グリッド コードで請求書を割り当てたところ、機能しました。逆の手順 (請求書グリッドでの領収書) を行った場合、請求書グリッドで同じ問題が発生しました。次に、領収書に請求書を延長してもらうことにしました。これは間違っていましたが、問題を解決しました!! それを念頭に置いて、なぜこれがこの問題を解決/引き起こすのか、私は完全に困惑しています! なぜこれが起こり得るのか、私は完全に困惑しているので、これがどのように可能であるかについての考えは非常に難しいでしょう...

また、正確なコードの違いを確認できる Vaadin フォーラムで支援を求めました。

4

0 に答える 0