2013-03-20 34 views
1

这听起来可能很奇怪,但是如果操作不在数据表行中,检查是否有可能获得数据表的选定行值。JSF databatable selected row

我已在在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>我能够得到selectedDepartment行ManagedBean以下,但如果我上面添加<p:column> </p:column>按钮,即不是在数据表中的行,但在标题上,我无法获得selectedDepartment行,因为它不在数据表行中。

有没有什么办法可以得到selecteddepartment行,如果我添加一个按钮不在数据表行?

   <p:commandButton id="addEmployee" 
       icon="ui-icon-plus"       
       oncomplete="newEmployeeDialog.show()" > 
    <f:setPropertyActionListener value="#{emp}" 
    target="#{myMB.selectedDepartment}" /> 
     </p:commandButton> 
+0

您可以使用''并避免使用''。 – 2013-03-20 06:49:04

+0

@LuiggiMendoza所以调用'setDepartment'方法接受参数或传递数据表det的id来设置方法? – user75ponic 2013-03-20 06:55:53

+0

我想这会是第一个更好。 – 2013-03-20 06:56:24

回答

1

我不认为你可以得到像rowI这样的信息,如果你不把按钮放在行内。我建议你先从dataTable中获取一个id,然后将它带入任何隐藏的值,以便在commandButton中使用它。