1

Vaadin テーブルのカスタム フィルタリング ヘッダーを作成したいと考えています。

この問題の例または解決策を教えてください。

Excel の列のように、テーブル内の検索を絞り込むコンボ ボックスまたはチェック ボックスを追加したいと考えています。

4

3 に答える 3

5

プロジェクトでもVaadinTableにカスタムフィルターを追加するという問題に直面しました。

解決策として、テーブルの上に動的フィルターフォームを追加しました。フィルタを適用するのに十分な柔軟性と俊敏性を備えています。

ソリューションを共有するためにVaadinAddonを作成しました-LexadenGrid。

次のリンクから詳細情報を見つけることができます。

http://www.lexaden.com/main/entry/lexaden_grid

于 2013-01-17T14:21:08.783 に答える
3

現時点では、フィルタリングを行うカスタム コンポーネントをテーブルのヘッダーに追加するのは非常に困難です。継承/コピー&ペーストによって独自のバージョンのテーブルを作成する必要があります(何が十分かはわかりません)。それは、可能であれば、現時点ではほとんどの人が避けたくないことです. Table コンポーネントの現在の実装は、Vaadin の最も複雑なコンポーネントの 1 つです。コンポーネントをヘッダーに配置することを主張する場合は実行可能ですが、物事を機能させるために真剣に考える準備をしてください。

テーブルのすぐ隣/上にあるコンポーネントを使用して、コンテナ内のデータをフィルタリングすることをお勧めします。重要な情報が表示されていない場合は、テーブル ヘッダーを非表示にしても問題ない場合があります。ヘッダーに正確に何かが必要な場合は、空のヘッダーと CSS ポジショニング コンポーネントを正しい場所に配置する必要があります。

抽象化を容易にするために、テーブルおよびその他のフィルタリング コンポーネントを常に 1 つの CustomComponent にグループ化できます。

于 2010-11-25T11:25:36.030 に答える
2

Book of Vaadinは、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 Samplerには、いくつかのコード サンプルも含まれています。

于 2010-11-24T13:56:33.457 に答える