JSFのドロップダウンにツリーのような構造を表示したいと思います。基本的には、選択項目は階層構造になっていて、ドロップダウンリストにはその項目が表示されます。ドロップダウンのJSFツリー
可能ですか?
JSFのドロップダウンにツリーのような構造を表示したいと思います。基本的には、選択項目は階層構造になっていて、ドロップダウンリストにはその項目が表示されます。ドロップダウンのJSFツリー
可能ですか?
だから、あなたは基本的にHTML <optgroup>
をしたいですか? SelectItemGroup
を使用してください。
JSFビーン(私はJSF 1.1を想定):
private String option; // +getter +setter
private List<SelectItem> options; // +getter
public Bean() {
options = new ArrayList<SelectItem>();
SelectItemGroup group1 = new SelectItemGroup("Group 1");
group1.setSelectItems(new SelectItem[] {
new SelectItem("Group 1 Value 1", "Group 1 Label 1"),
new SelectItem("Group 1 Value 2", "Group 1 Label 2"),
new SelectItem("Group 1 Value 3", "Group 1 Label 3")
});
options.add(group1);
SelectItemGroup group2 = new SelectItemGroup("Group 2");
group2.setSelectItems(new SelectItem[] {
new SelectItem("Group 2 Value 1", "Group 2 Label 1"),
new SelectItem("Group 2 Value 2", "Group 2 Label 2"),
new SelectItem("Group 2 Value 3", "Group 2 Label 3")
});
options.add(group2);
}
JSFビュー:
<h:selectOneMenu value="#{bean.option}">
<f:selectItems value="#{bean.options}" />
</h:selectOneMenu>
生成されたHTMLの例:それはブラウザでどのように見えるか
<select name="j_idt6:j_idt7" size="1">
<optgroup label="Group 1">
<option value="Group 1 Value 1">Group 1 Label 1</option>
<option value="Group 1 Value 2">Group 1 Label 2</option>
<option value="Group 1 Value 3">Group 1 Label 3</option>
</optgroup>
<optgroup label="Group 2">
<option value="Group 2 Value 1">Group 2 Label 1</option>
<option value="Group 2 Value 2">Group 2 Label 2</option>
<option value="Group 2 Value 3">Group 2 Label 3</option>
</optgroup>
</select>
:
+1のoptgroup! –
selectManyMenuで動作しますか?私はselectManyMenuでこれを使用したいと思います。 – deepmoteria
BalusC rocks !!! – arthur
私はあなたが何を求めているのか分かりません。メニューのサブカテゴリを少しインデントしたいとします。 その場合、「& nbsp」(スペース)または「 - 」ですでに解析された項目の配列をサーバー側/ハンドラから送信する方法はありますか?
つまり、javascriptを使用してカテゴリ階層を解析して理解することはできません。 2つのオプションがあります - JSFを介して再帰を実行するか(ページを設計する必要のあるUI担当者にとっては複雑で醜いです)、サーバ側で並べ替えを行い、JSFにぼんやりとインデントされたエントリを提供します。このことができます
希望、
Yishai
はい、あなたは私の権利を得ました、私のオプションはカテゴリにグループ化され、それぞれのカテゴリにはいくつかのオプションもあります。 –
ただし、ネストされたグループは正しく表示されません。グループとして表示されない項目として表示されます。
コンボボックス内のツリー。 –
私は彼が実際に 'h:selectOneMenu'のようにドロップダウンを意味し、コンボボックス(編集可能なドロップダウンではありません)ではないと仮定します。 – BalusC