这可能听起来很奇怪,但如果action不在datatable行中,检查是否有任何可能性来获取数据表选择的行值。
我在JSF页面中有以下内容
<p:dataTable id="det" var="emp" lazy="true"
value="#{myMB.lazyModel}" paginator="true"
paginatorPosition="bottom" rows="10"
rowKey="#{emp.employeeNumber}">
<f:facet name="header">
Employee Details
</f:facet>
如果我在<p:column> </p:column>
内添加以下内容,我可以在ManagedBean中获取selectedDepartment
行,但如果我在<p:column> </p:column>
上方添加按钮,即不在数据表行中,而是在标题,我无法获得selectedDepartment
行,因为它不在数据表行中。
如果我添加一个不在datatable行中的按钮,有没有办法获得selectedDepartment行?
<p:commandButton id="addEmployee"
icon="ui-icon-plus"
oncomplete="newEmployeeDialog.show()" >
<f:setPropertyActionListener value="#{emp}"
target="#{myMB.selectedDepartment}" />
</p:commandButton>
答案 0 :(得分:1)
如果你没有把按钮放在行内,我认为你不能得到像rowId这样的信息。我建议你先从dataTable获取一个id,然后将它带入任何隐藏值,以便在commandButton中使用它。