Czy istnieje sposób usunięcia zaznaczenia pola wyboru w nagłówku p: datatable.Usuń zaznaczenie wszystkich pól wyboru w Zakresy pierwotne datowalne
Potrzebuję pola wyboru w pojedynczym wierszu, ale nie w nagłówku.
Czy istnieje sposób usunięcia zaznaczenia pola wyboru w nagłówku p: datatable.Usuń zaznaczenie wszystkich pól wyboru w Zakresy pierwotne datowalne
Potrzebuję pola wyboru w pojedynczym wierszu, ale nie w nagłówku.
Na przykład:
<h:form id="form">
<p:dataTable id="cars" rowIndexVar="idx" ...>
<p:column selectionMode="multiple" style="width:2%" />
</p:dataTable>
</h:form>
Primefaces dodać domyślny przyrostek _head
do nagłówka DataTable jest w przykładzie: nagłówek DataTable będzie mieć id cars_head, więc można wyłączyć select all checkbox
poprzez css .ui-chkbox-box.ui-widget.ui-corner-all.ui-state-default
jest styl checkbox za wszelkiego wyboru w DataTable .
Jeśli używasz 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>
trzeba dodać tę konfigurację do web.xml
używać '-' w id komponentu:
<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>-</param-value>
</context-param>
Co można zrobić, to poniżej:
Dodaj poniżej w pliku default.css:
.table-no-select-all .ui-chkbox-all {
display: none !important;
}
A potem w facelet, że odnoszą się jak poniżej:
<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>
Dzięki.
Udało mi się to zrobić, używając p: columnGroup do określenia nagłówków.
<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>
Jeśli zmienisz zdanie i chcesz pole selectAll mają być wyświetlane, trzeba zmienić
<p:columnGroup type="header">
<p:row>
<p:column/>
<p:column headerText="Printer Model"/>
</p:row>
</p:columnGroup>
do
<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>
To działa bardzo dobrze:
.ui-chkbox.ui-chkbox-all.ui-widget {
display:none !important;
}
To działa dla mnie i n Primefaces 6,0
.ui-widget-header div.ui-chkbox.ui-widget { display: none !important; }
udało mi się to osiągnąć poprzez nadpisanie .ui-chkbox wszystko {display: none ważne;} ale ten jest stosowany do wszystkich wszystkich stołach. Czy istnieje sposób, w jaki można go zastosować do jednej konkretnej tabeli. – KCP
nie, dotyczy tylko datatable mają identyfikator 'cars'! –