2013-06-26 12 views
13

Sto usando primeface 3.5 dove trovo la casella di controllo per selezionare e deselezionare o selezionare il lavoro di selezione in modo perfettamente indipendente. Mentre provavo ad avere sia la selezione della riga che la selezione della casella di controllo, l'evento di selezione riga non si attiva. Qualcuno potrebbe chiarirlo per me?Tabella dati Primefaces Selezione righe e selezione di caselle multiple non funzionanti

fila di selezione non funziona tu visualizzate tutte evento sta lavorando

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

Qual è il problema che si trovano ad affrontare? –

+0

Inserisci il tuo codice e il problema esatto che stai affrontando –

+0

sei sicuro che il problema si verifica solo quando li stai utilizzando entrambi? –

risposta

17

Per l'evento di intestazione di colonna abbiamo un nome di intestazione diverso exi st in primeface/jsf. "toggleSelect". Si può usare in questo modo Spero che questo ti possa aiutare.

+1

19

nel tag datatable, Utilizzare questa

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

è necessario sparare questi quattro eventi Ajax e assicuratevi di fare la colonna selectionMode come multiple

+0

Che funziona quando si selezionano singole righe, non quando si seleziona la casella di controllo dell'intestazione di colonna! –

2

Prova questo:

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

La fonte:

primefaces 4.0 User Guide.- Ajax Comportamento Eventi