我有一个primefaces(3.5)数据表,我想用selectMenuCheckbox(sMCB)显示/隐藏列 - 每列都列在sMCb中。 sMCb有一个托管bean,用于存储其值,表列的渲染字段设置为一个方法,用于查看是否在复选框中选中了列。
sMCb有一个“onChange”参数,我在其中使用基本的javascript调用“tableName.update()”来告诉它更新。 1)它不起作用,2)我不确定它是否正确的方式让表重新呈现或我是否应该做其他事情。
有人可以使用数据表,selectMenuCheckbox建议一种方法,并在每个复选框都更改时显示/隐藏列。
之前我曾经使用过JSF / Primefaces,但我对javascript / jquery / etc是个新手。
感谢。
答案 0 :(得分:0)
就像你说的那样,selectMenuCheckBox工作服务器端,render
属性也是如此。一个纯粹的客户端JavaScript方法将无法正常工作。
为了更新列,我希望在单击复选框的情况下重新呈现表格。
在不知道您的直接xhtml(并且亲自来自richfaces前面)的情况下,该复选框可能看起来像(未经测试)
<h:selectMenuCheckBox value="#{managedBean.firstColumnChecked}">
<f:ajax event="change" render="yourDataTableIdHere" />
</h:selectMenuCheckBox>
希望它有所帮助...