lam*_*eta 3 xhtml java-ee primefaces
Primefaces中是否有一种方法可以启用或禁用数据表中的复选框?现在我的数据表是这样的:
<p:dataTable id="dTable" var="tt" value="#{aBean.aList}" selection="#{aBean.selectedValue}" rowStyleClass="#{tt.state.intValue() le 1 ? 'active' : 'passive'}">
<p:column selectionMode="multiple" />
...
</dataTable>
Run Code Online (Sandbox Code Playgroud)
但是这段代码只是将带有复选框的列与标题中的复选框放在一起.我希望根据辅助bean中的值呈现复选框.
FWIW多年后......
在PF 5.x中,您知道在列中执行此操作的时间更长,您必须disabledSelection在<p:datatable ...>标记中设置标准.
就像是 :
<p:datatable disabledSelection="#{myvar ne null}" ... >
Run Code Online (Sandbox Code Playgroud)
这花了我很多时间来弄清楚,因为经常提出问题(无处不在),而不考虑版本问题.这是我终于找到答案的地方.
我在PF中找到了解决方案:http://forum.primefaces.org/viewtopic.php? f = 3&t = 14029使用rowstyleclass和css解决了这个问题:
XHTML:
<p:dataTable id="dTable" var="tt" value="#{aBean.aList}"
selection="#{aBean.selectedValue}" rowStyleClass="#{tt.state.intValue() le 1 ? 'active' : 'passive'}">
<p:column selectionMode="multiple"/>
...
</dataTable>
Run Code Online (Sandbox Code Playgroud)
CSS:
.active{
background-image: none !important;
}
.passive{
background-color:gainsboro !important;
background-image: none !important;
}
.passive td.ui-selection-column input {
display:none;
}
Run Code Online (Sandbox Code Playgroud)
这使用CSS启用/禁用命令按钮.