隐藏p:基于行标准的dataTable选择复选框

pla*_*nes 5 datatable jsf selection primefaces jsf-2

我已经实施了org.primefaces.model.SelectableDataModel.

现在,在<p:dataTable>基于SelectableDataModel我的渲染时,我使用以下方法添加一个带复选框的列:

<p:column selectionMode="multiple" /> 
Run Code Online (Sandbox Code Playgroud)

对于某些行,我不希望根据行的某些属性显示复选框.

我看不到这样做的方法.Prime Faces功能盒是否可行?

mac*_*iek 7

您可以禁用该复选框:

<p:column selectionMode="multiple" style="width:18px" 
   disabledSelection="#{car.color =='Black'}" 
   styleClass="#{car.color =='Black' ? 'selectionDisabled':''}"/>
Run Code Online (Sandbox Code Playgroud)

现在,该复选框已禁用,可见.使用CSS隐藏已禁用复选框:

td.selectionDisabled .ui-chkbox{
display: none;
}
Run Code Online (Sandbox Code Playgroud)


小智 6

我建议使用:

<p:dataTable disabledSelection="#{car.color =='Black'}" ... >
Run Code Online (Sandbox Code Playgroud)

对我来说,它适用于PF 5.1.无需操作列样式类.