11

有没有办法删除 p:datatable 标题上的全选复选框。

我需要单个行上的复选框,而不是标题上的复选框。

4

5 回答 5

9

这很好用:

.ui-chkbox.ui-chkbox-all.ui-widget {
    display:none !important;
 }
于 2014-07-28T14:16:49.983 回答
6

您可以执行以下操作:

在您的 default.css 文件中添加以下内容:

.table-no-select-all .ui-chkbox-all {
     display: none !important;
}

然后在你的 facelet 中,参考如下:

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

谢谢。

于 2013-09-16T05:18:14.250 回答
3

我设法通过使用 p:columnGroup 来指定标题来做到这一点。

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

如果您改变主意并希望显示 selectAll 复选框,则需要更改

<p:columnGroup type="header">
        <p:row>
        <p:column/>
           <p:column headerText="Printer Model"/>
        </p:row>
</p:columnGroup>

<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>
于 2014-06-10T12:52:19.573 回答
1

例如:

<h:form id="form"> 
   <p:dataTable id="cars" rowIndexVar="idx" ...>
     <p:column selectionMode="multiple" style="width:2%" />  
   </p:dataTable>
 </h:form>

Primefaces为数据表_head的表头添加默认后缀,例如:数据表的表头将具有id cars_head,因此您可以select all checkbox通过css 禁用.ui-chkbox-box.ui-widget.ui-corner-all.ui-state-default数据表中所有复选框的复选框样式。

如果您使用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>

您需要添加此配置以web.xml在组件的 id 中使用“-”:

    <context-param>
        <param-name>javax.faces.SEPARATOR_CHAR</param-name>
        <param-value>-</param-value>
    </context-param>
于 2013-05-08T01:50:32.923 回答
1

这适用于 Primefaces 6.0

  .ui-widget-header div.ui-chkbox.ui-widget {
        display: none !important;
    }
于 2017-11-01T17:39:14.023 回答