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