2

ネストされたUIコンポーネントに問題があります。これは、PrimeFacesとMojaraの既知のバグである可能性があります。しかし、どうすれば解決できるのかわかりません。

アップローダー付きの画像ギャラリーがあり、データグリッドから画像を削除できるようにしたいので、

XHTML:

<h:form enctype="multipart/form-data">

            <p:fileUpload fileUploadListener="#{pictureManagementBean.handleFileUpload}"  
                    mode="advanced"  
                    update="gallery messages"  
                    auto="true"                    
                    allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
                    />  

            <p:growl id="messages" showDetail="true"/>  

            <p:dataGrid var="item" value="#{pictureManagementBean.pictures}" id="gallery">  
                <p:panel header="#{item.pictureName}" style="text-align:center">  
                    <h:panelGrid columns="1" style="width:100%">  

                        <p:graphicImage value="#{item.thumbnailDir}" />                             
                        <h:outputText value="#{item.createdate.toString()}" />                           
                        <p:commandLink value="Delete" 
                                       action="#{pictureManagementBean.removePicture(item.idpicture)}" ajax="false"/>

                    </h:panelGrid>  
                </p:panel>  
            </p:dataGrid>  

        </h:form>  

基本的に、その瞬間に機能していないのは、DataGridのcommandLinkDeleteです。残りは大丈夫です。

これへの回避策はありますか?私が試したのは、列、ajax、ajaxなし...何も機能しないことです。私にできることは、DataGridの外にあるボタンを取得することだけです。しかし、それは私が本当に望んでいることではありません。

どんな助けもありました。

[小さなこと:驚くべきことに、DataTableとColumnsでcommandLinkを問題なく使用しました!]

MavenのPrimefaces3.4RC1。(3.3.1でも動作しませんでした)

わかりました。1つ見つけました 。何かを使用すると内部<p:dataGrid>になりますが、p:columnsが機能しません。しかし、ビューはひどいです...私はそれを修正するためにCSSを使用する必要がありますか?

4

1 に答える 1

3

@Maple_shaftあなたはとても正しいです!

正しいコード:

<p:dataGrid var="item" value="#{pictureManagementBean.pictures}" id="gallery">  
                <p:column>
                    <p:panel header="#{item.pictureName}" style="text-align:center"> 
                    <h:panelGrid columns="1" style="width:100%"> 

                        <p:graphicImage value="#{item.thumbnailDir}" />                             
                        <h:outputText value="#{item.createdate.toString()}" />                           
                        <p:commandLink value="Delete" 
                                       action="#{pictureManagementBean.removePicture(item.idpicture)}" ajax="false"/>

                    </h:panelGrid>
                    </p:panel>
                </p:column>
            </p:dataGrid>  

つまり、単純な列要素です。私は前にそれを間違って配置しました。本当にありがとう。

もちろん、バッキングBeanは@ViewScopedです!

于 2012-08-16T11:58:51.300 に答える