2013-03-20 25 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中使用它。