0

我尝试在 Mojarra 2.2.1<p:dataTable><p:contextMenu>使用 primefaces 3.5。

上下文菜单代码:

<p:contextMenu for="actionnairesDT">  
     <p:menuitem value="View" update="displayActionnaires" icon="ui-icon-search"                    oncomplete="actDialog.show()"/>  
      <p:menuitem value="Delete" update="actionnairesDT" icon="ui-icon-close" />  
</p:contextMenu>

问题是对话框显示为空。

我试图在 setter 中显示我的对象setSelecedActionnaire(),它甚至什么都没有显示null

public void setSelectedActionnaire(Actionnaires selectedActionnaire) {
        System.out.println(selectedActionnaire);
        this.selectedActionnaire = selectedActionnaire;
    }

<p:dataTable>代码<p:dialog>如下。预先感谢您的帮助 !

<p:dataTable id="actionnairesDT"   paginatorPosition="bottom"
                             pageLinks="10" paginator="true" rows="20" value="#{actionnairesBean.actionnairesList()}"  var="actionnaires"
                             rowKey="#{actionnaires.nomAct}"  selection="#{actionnairesBean.selectedActionnaire}"  selectionMode="single"
                             >
                    <p:ajax event="rowSelect" update="actionnairesDT" oncomplete="actDialog.show()" />  
                    <p:column  sortBy="#{actionnaires.actionnairesPK.codeAct}" headerText="N°">
                        #{actionnaires.actionnairesPK.codeAct}
                    </p:column>
                    <p:column headerText="Nom" sortBy="#{actionnaires.nomAct}">
                        #{actionnaires.nomAct}
                    </p:column>
                    <p:column>
                        #{actionnaires.quatiteAct}
                    </p:column>
                    <p:column headerText="Sicav">
                        #{actionnaires.actionnairesPK.codeSicav}
                    </p:column>
                </p:dataTable>
                <p:dialog header="Détail Actionnaire" widgetVar="actDialog" resizable="false"  
                          showEffect="clip" hideEffect="fold" id="actDialog" closable="true" modal="true">  

                    <h:panelGrid id="displayActionnaires" columns="2" cellpadding="4">  
                        <h:outputText value="Nom Actionnaire"/>
                        <h:outputText value="#{actionnairesBean.selectedActionnaire.nomAct}"/>
                        <h:outputText value="Quantité"/>
                        <h:outputText value="#{actionnairesBean.selectedActionnaire.quatiteAct}"/>
                        <h:outputText value="Sicav"/>
                        <h:outputText value="#{actionnairesBean.selectedActionnaire.sicavs.libelleSicav}"/>
                    </h:panelGrid>  
                </p:dialog> 
4

1 回答 1

1

最后,我找到了解决方案

我添加<p:ajax><p:dataTable>

<p:ajax event="contextMenu"/>
于 2013-09-16T15:25:25.657 回答