Primefaces检索DataList或DataGrid值

时间:2011-03-22 20:33:50

标签: primefaces

我有下面的dataList,它显示一次分页显示一个图像的图像。我希望能够知道/检索当我单击我的p:commandButton时显示的图像,以便我可以在我的actionListener方法(bookmarkletBean.update)中访问它。这里有什么想法吗?

  <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()" />

2 个答案:

答案 0 :(得分:0)

不可能,因为p:dataListp:dataGrid都没有选择属性,可以附加到p:commandButton所属的辅助bean。

因此,我建议让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()" />

答案 1 :(得分: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>