2013-02-14 54 views
0

我有ajax功能添加名稱並以表格方式在一個圖像(文本左側)和一個「X」圖像(右側刪除)上顯示在同一頁面上。它應該像從左到右一樣添加,在完成一行之後,它應該從下一行開始。如何在p:dataGrid中顯示字符串的數組列表?

所以我需要在p:datagrid中顯示字符串的arraylist或任何其他可用於相同功能的標籤。

我嘗試過使用ui:repeat和p:panelgrid的組合,但我無法獲取datagrid funtionallty。我沒有使用p:dataTable,因爲它會在底部添加新元素而不是我所需要的。

P.S.

<h:form> 

     <h:selectOneMenu id="recepients" value="#{controller.selected}"> 
      <f:selectItem itemLabel="Select" itemValue=""></f:selectItem> 
      <f:selectItem itemLabel="Info1" itemValue="Info1"></f:selectItem> 
      <f:selectItem itemLabel="Info2" itemValue="Info2"></f:selectItem> 
      <f:selectItem itemLabel="Info3" itemValue="Info3"></f:selectItem> 
      <f:selectItem itemLabel="Info4" itemValue="Info4"></f:selectItem> 
      <f:selectItem itemLabel="Info5" itemValue="Info5"></f:selectItem> 


     </h:selectOneMenu> 
     <p:commandButton value="Add" action="#{controller.submit}" 
      update="nameslist" /> 

     <p:dataGrid id="nameslist" value="#{controller.tempNameList}" 
      var="name" columns="3"> 
      <p:column> 
       <p:outputLabel value="%" /> 
      </p:column> 
      <p:column> 
       <p:outputLabel value="#{name}" /> 
      </p:column> 
      <p:column> 
       <p:commandLink value="X" action="#{controller.delete(name)}" 
        update="nameslist"> 
       </p:commandLink>     


      </p:column> 

     </p:dataGrid> 
    </h:form> 

結果應該是這樣的......

%美國廣播公司X %的Xyz X %DFD X

PLZ考慮%作爲圖像和X接近符號

+0

您忘了詳細說明您面臨的錯誤/問題。你究竟如何無法使其工作? – BalusC 2013-02-14 12:57:53

+0

請分享您的部分代碼。它不會傷害:) – 2013-02-14 19:31:49

+0

@BalusC點擊後添加按鈕名稱,它應該以表格的形式顯示在屏幕上。 Primefaces的DataGrid提供了這個解決方案。但在我的情況下,它不接受字符串的數組列表 – 2013-02-15 12:40:27

回答

2

<p:dataGrid>不支持<p:column>。此列布局僅適用於<p:dataTable>

將所有這些<p:column>替換爲單個分組組件,例如, <h:panelGroup>或者<p:panel>,正如showcase site所示。

<p:dataGrid id="nameslist" value="#{controller.tempNameList}" var="name" columns="3"> 
    <h:panelGroup> 
     <p:outputLabel value="%" /> 
     <p:outputLabel value="#{name}" /> 
     <p:commandLink value="X" action="#{controller.delete(name)}" update="nameslist" /> 
    </h:panelGroup> 
</p:dataGrid> 
+0

謝謝你的答案。當我檢查它爲我工作。我只是改變了commandlink的行動。如果我給出任何參數,那麼它會導致問題。但我需要這個參數,以便我可以傳遞值刪除。我在第43行和第72行得到這個異常 - /DynamicCss.xhtml action =「#{controller.delete(name)}」無法解析表達式[#{controller.delete(name)}] – 2013-02-18 12:18:09

+0

你會得到這個當你的環境不支持EL 2.2時例外。 – BalusC 2013-02-18 12:37:52

+0

那我該怎麼做。我對此沒有任何想法。 – 2013-02-18 12:38:47

相關問題