我已实施org.primefaces.model.SelectableDataModel
。
现在,在根据<p:dataTable>
呈现我的SelectableDataModel
时,我使用以下方法添加了一个带复选框的列:
<p:column selectionMode="multiple" />
对于某些行,我不希望根据行的某些属性显示复选框。
我看不到这样做的方法。是否可以使用Prime Faces功能盒?
答案 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标记。