Vaadinカスタムテーブルヘッダー
-
28-09-2019 - |
質問
Vaadinテーブル用のカスタムフィルタリングヘッダーを構築したいと思います。
この問題の例や解決策をいくつか教えてください。
Excel列のようなテーブルの検索を改良するコンボボックスまたはチェックボックスを追加したい。
解決
ヴァーディンの本 Vaadin実装のための非常に良い参照です。リンクは、次のような例コードで構成されています。
// Define the properties
table.addContainerProperty("lastname", String.class, null);
table.addContainerProperty("born", Integer.class, null);
table.addContainerProperty("died", Integer.class, null);
// Set nicer header names
table.setColumnHeader("lastname", "Name");
table.setColumnHeader("born", "Born");
table.setColumnHeader("died", "Died");
これはあなたが求めるものですか?そうでない場合は、質問をもう少し明確に指定していただけますか?
編集: ヴァーディンサンプラー また、一握りのコードサンプルも含まれています。
他のヒント
私たちは、プロジェクトでもVaadinテーブルにカスタムフィルターを追加するという問題に直面しました。
解決策として、テーブルの上に動的フィルターフォームを追加しました。フィルターを適用するのに十分な柔軟で機敏になりました。
ソリューション-LexadenGridを共有するために、Vaadin Addonを作成しました。
詳細については、次のリンクをご覧ください。
現時点では、テーブルのヘッダーにフィルタリングを行うためにカスタムコンポーネントを追加することは非常に困難です。継承/コピー&ペーストで独自のバージョンのテーブルを作成する必要があります(何が十分かどうかはわかりません)。テーブルコンポーネントの現在の実装は、Vaadinの最も複雑なコンポーネントの1つです。コンポーネントをヘッダーに入れると主張する場合は実行可能ですが、物事を機能させるための真剣な考え方を準備してください。
テーブルのすぐ上/上にコンポーネントを備えたコンテナ内のデータのフィルタリングを作成することをお勧めします。テーブルヘッダーを隠すことは、そこに重要な情報が表示されない場合、時々受け入れられます。ヘッダーに正確に何かが必要な場合は、正しい場所に空のヘッダーとCSSの配置コンポーネントが必要になります。
テーブルやその他のフィルタリングコンポーネントを常に1つのカスタムコンポーネントにグループ化して、抽象化を容易にすることができます。