1つのjsfページに2つのデータテーブルがあり、両方に2つの異なるマネージドBeanがあります。
//master table
<p:dataTable id="dataTable" var="req" lazy="true"
value="#{emp.lazyModel}" paginator="true" rows="10"
selection="#{emp.selectedRequest}">
<p:ajax event="rowSelectRadio" listener="#{emp.onRowSelect}" />
<p:column selectionMode=">
<h:outputText value="#{req.empNo}" />
</p:column>
// detail table
<p:dataTable id="Det" var="det" lazy="true"
value="#{dept.lazyModel}" paginator="true" rows="1">
<p:column>
<f:facet name="header">
<h:outputText value="DeptNo" />
</f:facet>
<h:outputText value="#{det.deptNo}" />
</p:column>
それぞれマネージドBean
//マスターテーブルマネージドBean
@Named("emp")
@ViewAccessScoped
public class EmployeeManagedBean implements Serializable {
@PostConstruct
public void init() {
initTable();
}
//詳細テーブルマネージドBean
@Named("dept")
@ViewAccessScoped
public class DepartmentManagedBean implements Serializable {
@PostConstruct
public void init() {
initTable();
}
initTable()
両方のマネージドBeanにLazyModelを設定するメソッドです
マスターデータテーブルで行を選択すると、最初のデータテーブルのマネージドBeanで選択された行の値を取得できます。EmployeeManagedBean
私の質問は、最初のデータテーブルの選択された行の値を2番目のマネージドBeanに渡して、2番目のデータテーブルにデータを入力することにより、2番目のデータテーブルにデータを入力するための最良のアプローチは何ですか?2番目のデータブルに値を表示するためのトリガーポイントは、最初のデータテーブルの行の選択に基づいている必要があります。
どんな助けでも非常に高く評価されます。
ありがとう