私は<p:dataTable>
怠惰な負荷を持っています。2 つの列には、<p:selectOneMenu>
それぞれに があります。
最初の列には国のリストが保持され、2 番目の列にはデータベースからの州のリストが保持されます。
2 番目のメニュー (州のリストを含むもの) に、データ テーブルの各行の最初のメニューの国に対応するデータ テーブルの各行の州のみを表示する必要があります。
編集モード中にメニューの国が変更されると、その国に対応する州が現在の行のメニューに表示されます。
データ テーブルの各行にある国に対応する州のリストを読み込む方法は?
データ テーブルのこれら 2 つの列は、これを実現する方法について正確なアイデアがないため、不完全なままです。
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{row.state.country.countryName}"/>
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{row.state.country}">
<f:selectItems var="country"
value="#{cityBean.selectedCountries}"
itemLabel="#{country.countryName}"
itemValue="#{country}"/>
<p:ajax update="states" listener="#{cityBean.getStates}"/>
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{row.state.stateName}"/>
</f:facet>
<f:facet name="input">
<p:selectOneMenu id="states">
<f:selectItems var="state"
value="#{cityBean.selectedStates}"
itemLabel="#{state.stateName}"
itemValue="#{state}"/>
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
cityBean.selectedCountries
必要なすべての国をcityBean.selectedStates
取得しますが、不要なすべての州もデータベースから取得し、別のメニューでその国に対応する州のみを取得するように変更する必要があります。
ここからどうすれば進めますか?