C'è un modo per rimuovere la casella di controllo select all sull'intestazione di p: datatable.Rimuovi seleziona tutte le caselle di controllo in Primefaces datable
Ho bisogno di una casella di controllo sulla singola riga ma non sull'intestazione.
C'è un modo per rimuovere la casella di controllo select all sull'intestazione di p: datatable.Rimuovi seleziona tutte le caselle di controllo in Primefaces datable
Ho bisogno di una casella di controllo sulla singola riga ma non sull'intestazione.
Ad esempio:
<h:form id="form">
<p:dataTable id="cars" rowIndexVar="idx" ...>
<p:column selectionMode="multiple" style="width:2%" />
</p:dataTable>
</h:form>
primefaces aggiungere predefinita suffisso _head
al colpo di testa di DataTable, nell'esempio: colpo di testa di DataTable avrà id cars_head, in modo da poter disattivare select all checkbox
tramite CSS .ui-chkbox-box.ui-widget.ui-corner-all.ui-state-default
è lo stile di casella di controllo di tutti i checkbox nella datatable .
Se si utilizza JSF 2.0
:
<style type="text/css">
#form-cars_head .ui-chkbox-box.ui-widget.ui-corner-all.ui-state-default{
display:none !important;
}
</style>
è necessario aggiungere questa configurazione per web.xml
di usare '-' in id del componente:
<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>-</param-value>
</context-param>
Che cosa si può fare è di seguito:
Aggiungi il seguente file predefinito.css:
.table-no-select-all .ui-chkbox-all {
display: none !important;
}
E poi nel vostro facelet, riferiscono che, come di seguito:
<h:form id="form">
<p:dataTable id="cars" rowIndexVar="idx" styleClass="table-no-select-all" ...>
<p:column selectionMode="multiple" style="width:2%" />
</p:dataTable>
</h:form>
Grazie.
Sono riuscito a farlo usando p: columnGroup per specificare le intestazioni.
<p:dataTable id="selectByPotentialTable" var="replacementByPotential"
widgetVar="selectByPotentialTable"
value="#{kmSelectByPotentialBean.allReplacementPrintersViewModel}"
selection="#{kmSelectByPotentialBean.selectedByPotentialReplacement}">
<p:columnGroup type="header">
<p:row>
<p:column/>
<p:column headerText="Printer Model"/>
</p:row>
</p:columnGroup>
<p:column selectionMode="multiple" style="width:2%;text-align:center"/>
<p:column>
#{replacementByPotential.name}
</p:column>
</p:dataTable>
Se si cambia idea e si desidera che la casella di controllo selectAll da visualizzare, è necessario cambiare
<p:columnGroup type="header">
<p:row>
<p:column/>
<p:column headerText="Printer Model"/>
</p:row>
</p:columnGroup>
a
<p:columnGroup type="header">
<p:row>
<p:column selectionMode="multiple" style="width:2%;text-align:center"/>
<p:column headerText="Printer Model"/>
</p:row>
</p:columnGroup>
Questo funziona molto bene:
.ui-chkbox.ui-chkbox-all.ui-widget {
display:none !important;
}
Questo funziona per me io n primefaces 6,0
.ui-widget-header div.ui-chkbox.ui-widget { display: none !important; }
sono stato in grado di raggiungere questo obiettivo mediante l'override .ui-chkbox-all {display: none importante;} ma questo si applica a tutti i tutti i tavoli. C'è un modo in cui può essere applicato a un particolare tavolo. – KCP
no, si applica solo per datatable hanno id 'cars'! –