2011-03-22 52 views
0

我有下面的dataList顯示圖像與分頁,每次顯示一個圖像。我希望能夠知道/檢索當我點擊我的p:commandButton時顯示的圖像,以便我可以在我的actionListener方法(bookmarkletBean.update)中訪問它。這裏的任何想法?Primefaces檢索DataList或DataGrid的值

<p:dataList value="#{bookmarkletBean.imageURLs}" var="img" 
        paginator="true" rows="1" effectSpeed="fast" pageLinks="4" 
        paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" paginatorPosition="bottom"> 
        <p:column> 
         <p:graphicImage value="#{img}" width="200" height="110"/> 
        </p:column> 
       </p:dataList> 

<p:commandButton styleClass="form-btn1" value="#{bundle['save.button.TEXT']}" 
         actionListener="#{bookmarkletBean.update}" oncomplete="bookmarkletAddedDlg.show()" /> 
+0

那麼顯然格式化後更容易和增強的讀數不值得了? – camiloqp 2011-03-22 21:50:13

回答

0

一個可能的解決方案是下面像這樣的鏈接安排它來選擇想要的圖像,然後將ActionListener的過程就是選擇

<p:dataTable value="#{bookmarkletBean.imageURLs}" var="img" 
       paginator="true" rows="1" effectSpeed="fast" pageLinks="4" 
       paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" 
       paginatorPosition="bottom"> 
       <p:column> 
        <p:graphicImage value="#{img}" width="200" height="110"/> 
         <p:commandLink> 
          <f:setPropertyActionListener value="#{img}" target="#{bookmarkletBean.selectedImage}"/> 
           select image 
         </p:commandLink> 
       </p:column> 
</p:dataTable> 
0

不可能的,因爲這兩個p:dataListp:dataGrid不具有可連接到支持bean你p:commandButton將屬於選擇財產。

因此,我建議有一個p:dataTable這確實有選擇屬性,一旦你點擊你現在會選擇哪一行(圖)按鈕。

<p:dataTable value="#{bookmarkletBean.imageURLs}" var="img" 
      selection"#{bookmarkletBean.selectedImage}" 
      paginator="true" rows="1" effectSpeed="fast" pageLinks="4" 
      paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks}  {NextPageLink} {LastPageLink}" paginatorPosition="bottom"> 
        <p:column> 
         <p:graphicImage value="#{img}" width="200" height="110"/> 
        </p:column> 
</p:dataTable> 

<p:commandButton styleClass="form-btn1" value="#{bundle['save.button.TEXT']}" 
         actionListener="#{bookmarkletBean.update}" oncomplete="bookmarkletAddedDlg.show()" /> 
+0

感謝您的迴應和幫助。該選擇沒有將當前行映射到我的bean。我認爲選擇屬性是爲了在有選擇事件時使用(點擊,雙擊..等)。我只是使用分頁來轉到集合中的下一張圖片。我得到它的唯一方法就是我在下面的帖子中概述的方式。有任何想法嗎?對不起以前的格式。 – c12 2011-03-23 03:27:20