gpt4 book ai didi

java - JSF 数据表根据选择填充行

转载 作者:行者123 更新时间:2023-11-29 05:50:26 27 4
gpt4 key购买 nike

我在一个 jsf 页面中有两个数据表,并且都有两个不同的托管 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

我的问题是,通过将第一个数据表的选定行值传递给第二个托管 bean 并从而填充第二个数据表来填充第二个数据表的最佳方法是什么?在第二个数据表中显示值的触发点应基于在第一个数据表中选择的行。

非常感谢任何帮助。

谢谢

最佳答案

我是新手,但我尝试这样做:

  1. 将选定的行传递给第二个 bean (DepartmentManagedBean)
  2. 根据选定的行划分部门
  3. 更新第二个数据表,使用 p:ajax 属性 update

关于java - JSF 数据表根据选择填充行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com