2016-05-06 8 views
1

私は、jQueryを使用して何らかのテーブルを生成するJavascriptコンポーネント(サブクラスAbstractJavascriptComponent)を開発するVaadinアプリケーションを作成しています。Javascriptコンポーネントによって生成された要素にVaadinコンポーネントを追加

ただし、ユーザーがセルに値を入力できる必要があります。そのためには、フィルタリング機能のためにVaadinの標準ComboBoxを使用したいと考えています。これは可能ですか?私はComboBoxをインスタンス化することができるサーバーにJavascriptコンポーネントからRPC呼び出しを行う方法を知っていますが、普通のレイアウトではなく特定のDOM要素にComboBoxを追加する方法は見当たりません。

複雑なUIのやり取りやレイアウトのためにDOMを直接制御する必要があるため、TableGridを使用することはできません。したがって、独自のテーブルを作成する代わりに使用することはお勧めしません。私はここでそれをテーブルと呼んでいますが、実際はもっと複雑です。

答えて

0

Vaadinでは不可能だと思いますが、Vaadin ComboBoxを含むカスタムHTMLレイアウトを作成することができます。 CustomLayoutを参照してくださいhttps://vaadin.com/docs/-/part/framework/layout/layout-customlayout.html

したがって、AbstractJavascriptComponentを使用してHTMLレイアウトに必要な動作を追加できますが、レイアウトは静的になります。

Vaadinコンポーネント用のこの複雑なコンテナを最初から作成したい場合、ComponentContainerを実装するカスタムVaadinコンポーネントをJavaで作成する必要があります。

+0

問題は静的なHTMLを書く必要がないことです。私が言ったように、私は特定の機会にコンボボックスを表示する必要があり、レイアウトはjQueryを使って動的に生成されます。 – herman

+0

Vaadinのコンポーネントには、次の2つの方法があります。1. Javaで完全なソリューションサーバーサイドを生成する(希望どおりではない)。2. vaa​​dinのクライアント側コンポーネントを使用する。現在のところ、これは、グリッドなどの一部のvaadinコンポーネントでのみ使用できます。しかし、データソースへの独自の接続を確立する必要があります –

関連する問題