Java JSF数据表根据选择填充行
我在一个jsf页面中有两个DataTable,它们都有两个不同的托管beanJava JSF数据表根据选择填充行,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,我在一个jsf页面中有两个DataTable,它们都有两个不同的托管bean //master table <p:dataTable id="dataTable" var="req" lazy="true" value="#{emp.lazyModel}" paginator="true" rows="10" selection="#{emp.selectedRequest}"> <p:a
//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
@Named("emp")
@ViewAccessScoped
public class EmployeeManagedBean implements Serializable {
@PostConstruct
public void init() {
initTable();
}
@Named("dept")
@ViewAccessScoped
public class DepartmentManagedBean implements Serializable {
@PostConstruct
public void init() {
initTable();
}
initTable()
是一种为两个托管bean填充LazyModel的方法
当我在主数据表中选择一行时,我能够在托管bean中获得第一个数据表的选定行值,即EmployeeManagedBean
我的问题是,通过将第一个datatable的选定行值传递给第二个托管bean,从而填充第二个datatable,填充第二个datatable的最佳方法是什么?在第二个数据表中显示值的触发点应基于在第一个数据表中选择的行
任何帮助都是值得赞赏的
谢谢我对这一切都不熟悉,但我试着这样做:
达卡,你的回答特别是第三点几乎解决了我的问题。还有一些工作要做,然后我可以确认我的表格是否有效。非常感谢,我的主细节表单正在运行,仍然需要做一些调整。非常感谢。我能帮忙真是太好了:)