2013-04-02 70 views
1

我有一個需求,我需要顯示將從數據庫中檢索的窗體上的組件。我可以在datatable和ui重複的幫助下顯示組件。我還需要爲每個組件都需要ID的這些組件提供工具提示功能。有沒有什麼辦法可以動態地爲組件添加id(s)。如何動態地將ID添加到primefaces組件中?

<p:dataTable styleClass="borderless" id="rdResultTable" var="result" 
    value="#{RequestBean.radioList}" rendered="#{not empty RequestBean.radioList}"> 

    <p:column style="width:150px;"> 
     <f:facet name="header"> 
      <h:outputText value=" " /> 
     </f:facet> 
     <h:outputText value="#{msg[result.field_label]}"/> 
    </p:column> 
    <p:column> 
     <f:facet name="header"> 
      <h:outputText value="" /> 
     </f:facet> 
     <ui:repeat value="#{RequestBean.radioList}" var="itm"> 
      <p:inputText value="#{itm.indFieldValue}" 
      rendered="#{result.level_id==itm.level_id and result.field_type=='textbox'}"> 
      </p:inputText> 
     </ui:repeat> 
    </p:column> 
</p:dataTable> 

任何幫助,將不勝感激。

回答

6

你並不需要。 JSF將自動地擔心在<p:tooltip>和同一個循環中的目標組件之間設置正確的關係。

<ui:repeat ...> 
    <p:inputText id="foo" ... /> 
    <p:tooltip for="foo" ... /> 
</ui:repeat> 

在你的網頁瀏覽器,右擊拉JSF頁面,並做查看源。您會注意到<ui:repeat>已經自動爲ID foo添加了迭代索引。

-1

據我所知,JSF不允許你設置動態ID,而primefaces是基於JSF的。

也許這個問題的答案可以幫助你:Refer to JSF dynamically generated ids based on iteration index

+0

您發現的鏈接中的答案與第一段中的陳述相矛盾。你真的明白這裏發生了什麼? – BalusC

+0

我寫了第一段,然後開始做測試,然後搜索,然後找到鏈接,然後把鏈接指向解決方案而不刪除第一段...所以是的,有點混亂。 –

相關問題