5

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

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

<p:column selectionMode="multiple" /> 

对于某些行,我不希望复选框出现,基于行的某些属性。

我看不出有办法做到这一点。没有开箱即用的 Prime Faces 功能是否可行?

4

4 回答 4

7

I would suggest to use:

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

For me it works fine with PF 5.1. No need to manipulate column styleClass.

于 2014-10-21T12:54:27.337 回答
7

您可以禁用该复选框:

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

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

td.selectionDisabled .ui-chkbox{
display: none;
}
于 2013-02-19T15:10:04.493 回答
0

我可以确认根据 user4165984 将 disabledSelection 属性放在 dataTable 上适用于 primefaces 6.1。

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

或者

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

仅当您想添加一些花哨的 css 魔法来做更多的事情时,才需要设置样式类。

于 2019-01-10T14:04:10.940 回答
-1

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

disabledSelection 属性应该插入到 p:datatable 标记中,如 user4165984 所建议的或这里提到的。

于 2016-08-09T09:53:02.903 回答