web-dev-qa-db-fra.com

Tableau de données Primefaces La sélection de lignes et la sélection de plusieurs cases à cocher ne fonctionnent pas

J'utilise primeface 3.5 où je trouve la case à cocher pour sélectionner et désélectionner ou sélectionner la ligne fonctionne parfaitement indépendamment. Alors que j'ai essayé d'avoir à la fois la sélection de ligne et la sélection de case à cocher, l'événement de sélection de ligne ne se déclenche pas. Quelqu'un pourrait-il clarifier cela pour moi?

la sélection de ligne ne fonctionne pas tu vérifies que tout l'événement fonctionne

<p:dataTable id="myBookDTable" var="car" value="#{myBean.pageViews}" paginatorPosition="bottom" paginator="true" rows="30" scrollable="true" scrollHeight="400" scrollRows="30" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" rowsPerPageTemplate="30,50,100"rowKey="#{car.carID}" rowIndexVar="rowIndex" draggableColumns="true" lazy="true">

<p:ajax event="rowSelect" listener="#{myBean.onRowSelect}" update="certainpart"
                                async="true"/>
<p:ajax event="rowSelectCheckbox" listener="#{myBean.rowSelectCheckbox}"/>
<p:ajax event="rowUnselectCheckbox" listener="#{myBean.rowUnselectCheckbox}"/>

<p:ajax event="rowUnselect" listener="#{myBean.rowUnselect}"/>

<p:column  width="30" selectionMode="multiple" style="width:2%" />

</p:datatable>
18
Jerry

Pour l'événement d'en-tête de colonne, nous avons un nom d'en-tête différent dans primeface/jsf: "toggleSelect". Vous pouvez utiliser comme ceci:

<p:ajax event="toggleSelect" update="@this" process="@this" />
22
Suresh Kumar Pathak

Dans votre balise datatable, utilisez ceci

   <p:ajax event="rowSelectCheckbox" update="someComponent" />
  <p:ajax event="rowUnselectCheckbox" update="someComponent" />
  <p:ajax event="rowSelect" update="someComponent" />
  <p:ajax event="rowUnselect" update="someCompoent" />
  <p:column selectionMode="multiple" style="width:4%" />

vous devez déclencher ces quatre événements ajax et assurez-vous que la colonne selectionMode est multiple

20
Prasad Kharkar

Essaye ça:

<p:ajax event="toggleSelect" update=":form:component" partialSubmit="true" />

La source:

Guide de l'utilisateur PrimeFaces 4.0 - Événements de comportement Ajax

3
changoprogramador