2013-05-07 9 views

risposta

1

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

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

+0

no, si applica solo per datatable hanno id 'cars'! –

0

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.

2

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

Questo funziona molto bene:

.ui-chkbox.ui-chkbox-all.ui-widget { 
    display:none !important; 
} 
1

Questo funziona per me io n primefaces 6,0

.ui-widget-header div.ui-chkbox.ui-widget { 
     display: none !important; 
    }