Jsf 价值<;h:选择布尔复选框>;内部<;p:dataTable>;提交时仍为假
我有一个primefaces数据表,在primefaces数据表中,我有一个列,其中包含。问题是,我已将的默认值设置为false。当我单击/检查时,它仍然将值检索为false。我试了很多次,但不确定为什么返回错误。请在下面找到示例代码Jsf 价值<;h:选择布尔复选框>;内部<;p:dataTable>;提交时仍为假,jsf,primefaces,datatable,selectbooleancheckbox,Jsf,Primefaces,Datatable,Selectbooleancheckbox,我有一个primefaces数据表,在primefaces数据表中,我有一个列,其中包含。问题是,我已将的默认值设置为false。当我单击/检查时,它仍然将值检索为false。我试了很多次,但不确定为什么返回错误。请在下面找到示例代码 <p:dataTable id="review-table" var="item" value="#{demandBean.filterVOList}"> <p:column id="SelectallID" style="text-a
<p:dataTable id="review-table" var="item" value="#{demandBean.filterVOList}">
<p:column id="SelectallID" style="text-align: left; width:40px;" rendered="#{demandBean.screeRenderVo.selectAllRenderer}">
<f:facet name="header" >
<h:outputText id="selectId" value="#{demandBean.dmdScreenLabelVO.selectAll}" />
<div></div>
<h:selectBooleanCheckbox id="checkbox1" value="Select All" onclick="checkAll(this)"/>
</f:facet>
<h:selectBooleanCheckbox id="checkbox2" value="#{item.selected}"/>
</p:column>
我也尝试过调试代码,但不确定为什么的值显示为false。请帮忙。提前感谢您似乎正在将列中所有复选框的值绑定到同一个bean属性。这样,该值最终将成为列中最后一行的值 这不是应该怎么用的 您基本上需要将复选框的值绑定到当前迭代的行对象的属性(datatable的
var
属性后面的属性)
或者,您可以使用
来使用PrimeFaces数据表()的内置多选支持
你好,巴卢斯,非常感谢您的回复。我甚至试过同样的方法。请查找我编辑和更新的帖子代码。但是,当我尝试选择复选框时,即使选中了复选框,也会返回一个假值。另外,我不想使用primefaces选择模式,因为样式与普通样式不同。在处理表单提交期间,当
的rendered
属性评估为false
时,可能会发生这种情况。顺便说一句,除了将值绑定到项目的属性之外,还有另一种方法;通过项标识符将其绑定到映射
,另请参见(注意,这不会解决“假”值问题,这只是另一种设计方法)。@BalusC我也有同样的问题,但使用时,会调用bean,但不会调用方法。。。你能帮助我吗?
public void saveData(ActionEvent event)
{
System.out.println("Entering the Save :");
selected = isSelected();
System.out.println("value of Selected"+selected);
}
<p:dataTable value="#{bean.items}" var="item">
<p:column>
<p:selectBooleanCheckbox value="#{item.selected}" />
<p:dataTable value="#{bean.items}" var="item" rowKey="#{item.id}" selection="#{bean.selectedItems}">
<p:column selectionMode="multiple" />