2013-11-09 59 views
4

如何獲取當前Row p:dataTable primefaces的Id到我的鏈接中使用此Id的位置?請描述一下(對不起我的英文)。我的數據表看起來像這張圖片:
http://www.image-share.com/igif-2333-105.html
當我點擊按鈕我想獲得行的ID在哪裏是這個按鈕,例如行1有ID 1,所以當按鈕1被點擊時,我必須得到ID = 1顯示如何看起來我的鏈接在哪裏需要id:
http://'serverAddress'/ myApplication/PDF?type = document & id =「+ id」
變量ID的類型爲int和getters,實體和bean中的setter。 JSF中的按鈕如下所示:
h:commandButton value =「Print」action =「#{printBean.print()}」/>
方法'打印'啓動我的鏈接。任何想法如何做到這一點?感謝幫助。從當前行數據表中獲取id鏈接JSF Primefaces Java

+0

我想他正在尋找的是:http://stackoverflow.com/questions/14633008/jsf-2-datatable-在普通JSF的情況下,行索引無數據模型。 – JanM

回答

18

您可以使用p:dataTablerowIndexVar屬性。

迭代器的名稱來指代各行指標

誰的迭代器名稱可以在EL被用來獲取行ID

例如: 如果rowIndexVar="myId"那麼你就可以訪問每一行使用#{myID}在EL中使用該迭代器名稱的索引。

例子:

<p:dataTable rowIndexVar="rowId" value="..." var="..."> 
    <p:column> 
     <h:commandLink action="#{...}"> 
     <f:param name="id" value="#{rowId}" /> 
     </h:commandLink> 
    </p:column> 
</p:dataTable> 
+0

如何在我的bean函數中使用選定的rowId?我的意思是,我需要一個變量,當我點擊第一行中的按鈕時,它的值是1(或者其他任何讓我知道表格中所選行的技術) –

1

獲取id在豆

map<String,String> par_map = new HashMap<String,String>(); par_map=FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); 

String id=par_map.get("id");