2012-02-26 11 views
0

SWTにはいくつかのフィルタを使用してTableViewerオブジェクトがあります。したがって、フィルタが変更された場合、Tableの内容はTableViewerに変更されます。私はTableItemが追加されたか、またはTableから削除されたが、何も見つけられなかったときに起動されたイベントを検索しました。そんなイベントはありますか?テーブルコンテンツが変更されたときにSWTで発生するイベント

表示されているすべての行を計算に使用したいので、ハンドラが統計を管理できます。つまり、列の合計などです。そのため、イベントが必要です。

+0

変更されたテーブルコンテンツのイベントが見つかりませんでした。とにかく私の問題の別の解決策を見つけました:私のフィルタには、フィルタ条件を設定し、 'TableViewer.refresh()'を呼び出すメソッドがあります。実行が 'refresh()'から戻ると、リフレッシュされたテーブルを使って統計を計算しました。 –

答えて

0

フィルターをかけたら、明示的にsetInputを呼び出しますか?その場合は、contentproviderのinputChangedメソッドを参照してください。私はあなたの問題の解決策になると思う。

+0

こんにちはベラ、ありがとうございました。私は 'setInput'を呼び出さない。 'ViewerFilter'を拡張し、' ViewerFilter.select() 'をオーバーライドしてフィルタリングします。そこでは、行が事前条件を満たすかどうかをチェックしてtrueまたはfalseを返すだけです。最後に私は 'TableViewer.addFilter()'を使って私の拡張 'ViewerFilter'を追加しました。 –

関連する問題