我需要你帮助传递选定的行列&#39; <p:dataTable>
到方法的值。现在在我的代码中,我得到的值不正确,其中一些是空的,所以请你帮忙。
我的数据表代码是:
<p:dataTable id="PendingRequests" var="hr" value="#{hrd.pendingRequests}">
<p:column headerText="Request Date">
<h:outputText value="#{hr.requestDate}"/>
</p:column>
<p:column headerText="Request No.">
<h:outputText value="#{hr.reqNo}"/>
</p:column>
<p:column headerText="Employee Code">
<h:outputText value="#{hr.employeeCode}"/>
</p:column>
<p:column>
<f:facet name="header">View</f:facet>
<p:lightBox style="align:center;" iframe="true" width="1200px" height="600px">
<h:outputLink value="#{hr.link}">
<p:commandButton icon="ui-icon-search" actionListener="#{hrd.HRCESS}">
<f:setPropertyActionListener target="#{hrd.employeeCode}" value="#{hr.employeeCode}"/>
<f:setPropertyActionListener target="#{hrd.reqNo}" value="#{hr.reqNo}"/>
</p:commandButton>
</h:outputLink>
</p:lightBox>
</p:column>
</p:dataTable>
但是,如果我点击<p:commandButton>
,我会检查employeeCode
和reqNo
的打印值。在HRCESS()
方法中,我会找到employeeCode
和reqNo
。是错的。
这是我在bean中的代码:
@PostConstruct
public void init() {
listPendingRequests = new ArrayList<PendingRequests>();
try {
//SQL Statement
while (result.next()) {
PendingRequests pendingList = new PendingRequests();
requestDate = result.getString("ECW_REQ_DT");
reqNo = result.getString("ECW_REQ_SEQ_NO");
employeeCode = result.getString("ECW_EMP_CD");
pendingList.setRequestDate(requestDate);
pendingList.setReqNo(reqNo);
pendingList.setEmployeeCode(employeeCode);
listPendingRequests.add(pendingList);
}
} catch (Exception e) {
System.err.print(e);
e.printStackTrace();
}
}