Primefaces 3.5 DataTable Single Selection не работи с ContextMenu

Опитах се да направя <p:dataTable> с <p:contextMenu> с помощта на primefaces 3.5 на Mojarra 2.2.1.

Кодът на контекстното меню:

<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>

проблемът е, че диалоговият прозорец се показва празен.

Опитах се да покажа обекта си в сетера 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> 

person Community    schedule 16.09.2013    source източник


Отговори (1)


В крайна сметка намерих решението

Добавям <p:ajax> към <p:dataTable>:

<p:ajax event="contextMenu"/>
person Community    schedule 16.09.2013