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

时间:2013-02-19 14:15:08

标签: jsf jsf-2 primefaces datatable selection

我已实施org.primefaces.model.SelectableDataModel

现在,在根据<p:dataTable>呈现我的SelectableDataModel时,我使用以下方法添加了一个带复选框的列:

<p:column selectionMode="multiple" /> 

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

我看不到这样做的方法。是否可以使用Prime Faces功能盒?

4 个答案:

答案 0 :(得分:7)

您可以停用复选框:

<p:column selectionMode="multiple" style="width:18px" 
   disabledSelection="#{car.color =='Black'}" 
   styleClass="#{car.color =='Black' ? 'selectionDisabled':''}"/>

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

td.selectionDisabled .ui-chkbox{
display: none;
}

答案 1 :(得分:5)

我建议使用:

<p:dataTable disabledSelection="#{car.color =='Black'}" ... >

对我而言,它适用于PF 5.1。无需操作列样式类。

答案 2 :(得分:0)

我可以确认将disableSelection属性放置在dataTable上是否适用于user4165984上的primefaces 6.1。

<p:dataTable disabledSelection="#{car.color =='Black'}" ... >

<p:dataTable disabledSelection="#{car.disabled}" ... >

仅当您要添加一些奇特的CSS魔术功能而不只是禁用功能时,才需要设置样式类。

答案 3 :(得分:-1)

从Primefaces 5.2开始,maciek和planetjones建议的p:column的disabledSelection属性禁用该复选框。

disabledSelection属性应按照user4165984或here的建议插入p:datatable标记。