2011-08-22 5 views
5

Vaadinドロップダウンを2つの区切り記号で作成したいと思います。私はそれを実装する方法を見つけることができませんでした、誰も私がこの問題を解決するのを助けることができますか?Vaadin combobox

これは私がダウン私のドロップを表示したい方法です:

  • オプション1
  • オプション2
  • ------------;
  • select 1
  • select 2
  • -----------;
  • グループ1

どうすればいいですか?

+0

Vaadinのコンボボックスコードを使用してVaadinウィジェットを作成します。 HTMLコンテンツがクライアント側でフィルタリングされた場所を上書きし、brタグを使用してその行を追加することができます。 – MarterJay

答えて

0

私は自分で試したことはありませんが、NativeSelectionドロップダウンで行ってください。

4

選択肢にセパレータを追加する組み込みの方法はありません。私が考えることができる唯一の方法は、目的のセパレータをキャプションとして追加することです。たとえば、デフォルトのキャプション(アイテムID)を使用する場合は、select.addItem("-----");で十分です。これは、ComboBoxとNativeSelectの両方で有効です。

3

クライアントの動作を含む新しいVaadinコンポーネントを実装できますが、これは簡単な解決策ではありません。このページhttps://vaadin.com/book/-/page/gwt.htmlの "Book of Vaadin"とVaadinフォーラムがそれに役立ちます。

また、既存のコンポーネントを使用して独自のコンポーネントを作成する方法もあります。 StringまたはComponent配列の値をとる特別なコンボボックスを実装できます。これを行う方法は、Vaadinパネル、レイアウト、およびサイズと位置のウィンドウを使用し、リスナーをクリックすることです。

0

あなたは常に

行うことができます{select.addItem(「-----を」);}

私もそのような何かをしたかったが、であることを行うには適切な方法はありませんでしたしたらVaadin。私は実際にコンボボックスを拡張するVaadinウィジェットを作成しました。 Vaadinのクライアントサイドウィジェットでは、リストに項目を追加する前にHTMLコンテンツをフィルタリングします。クライアント側のコードを使用して、その機能を無効にし、HTMLタグ「
」を使用して行を追加します。

0
select.addItem("-----"); 

は、私はあなたには、いくつかのリストから項目を読んでいる場合は、「N」の後に区切りを設定するには、いくつかの項目カウンタと(itemsCount%n)==0オペレータとのことを組み合わせることができところで、いくつかの他の

について知らない、最良の方法のように見えます挿入された項目:)

0

あなたは(前述のように)選択に項目を追加して、いくつかのJavaScriptでセパレータを無効にすることができます

  1. 選択項目に項目を追加します。 cb.addItem( "separator"); cb。setItemCaption( "separator"、 "-------------");

  2. "

    • "varが( '選択')= document.getElementsByTagNameを選択するJavaScript =" javascriptの

      最終文字列を実行;"

    • "(var j = 0; j < selects.length; j ++){"
    • "var op = select [j] .getElementsByTagName( 'option');"
    • "の(VAR I = 0; I < op.length; iは++){"
    • "IF(OP [I]の.text ==「" + separatorText + " ')OP [I] .disabled =本当ですか;
    • "}}";Page.getCurrent()。getJavaScript()。execute(javascript);
関連する問題