禁用几行的行选择 - Primefaces

Red*_*der 11 jsf primefaces

我想知道是否有一种方法可以根据bean属性禁用Primefaces中给定行集的基于无线电的行选择.

例:

<p:dataTable var="foo" value="#{bean.foos}" selection="#{bean.selectedFoo}">`
    <p:column selectionMode="single" />
    <p:column>
        <h:outputText value="#{foo.bar}" />
    </p:column>
<p:dataTable>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,想象一下我想要禁用行foo.bar == 1,5,10,通过禁用行我的意思是禁用与行关联的单选按钮.

我无法找到一种方法来实现......任何想法?即使是css + javascript hack解决方案也是可以接受的.

谢谢!

rob*_*vrd 13

从5.0版开始,Primefaces数据表附带一个disabledSelection属性.

<p:dataTable var="foo" value="#{bean.foos}" selection="#{bean.selectedFoo}" disabledSelection="#{foo.bar == 1}">
    <p:column selectionMode="single" />
    <p:column>
        <h:outputText value="#{foo.bar}" />
    </p:column>
<p:dataTable>
Run Code Online (Sandbox Code Playgroud)

然后,如果foo.bar == 1为true,则将禁用复选框.

  • 它不会禁用所有行,只会禁用与条件匹配的行.这里,它仅禁用属性"bar"等于1的行. (5认同)