在 primefaces 数据表中过滤后无法编辑值
我在 primefaces 中有一个具有过滤功能的数据表,每一行也都有复选框。当我过滤值并更改复选框值,然后按保存按钮时,当我打印它们时,更改后的值不会出现在后端。 我的数据表看起来像:
<p:dataTable id="tbValues" widgetVar="kVar" var="k" value="#{mybean.values}" paginatorPosition="top" paginatorTemplate="{PreviousPageLink} {CurrentPageReport}
{NextPageLink}" filteredValue="#{mybean.filteredValues}" scrollable="true" >
<p:column headerText="Name" filterBy="#{k.name}" >
<h:outputText value="#{k.name}"/>
</p:column>
<p:column >
<f:facet name="header">
<h:outputText value="Value1"/>
</f:facet>
<h:selectBooleanCheckbox id="v1" value="#{k.value1}" immediate="true"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Value2"/>
</f:facet>
<h:selectBooleanCheckbox id="v2" value="#{k.value2}" immediate="true" />
</p:column>
<f:facet name="footer">
<p:toolbar>
<p:toolbarGroup align="left">
<p:commandButton id="saveBt" value="Save" update="tbValues" widgetVar="saveBt" actionListener="#{mybean.saveValues}"/>
</p:toolbarGroup>
</p:toolbar>
</f:facet>
</p:dataTable>
我的 bean 方法是:
public void saveValues(ActionEvent event){
System.out.println("filter: "+this.filteredValues);
if(this.filteredValues!=null) {
for(int i=0;i<this.filteredValues.size();i++) {
System.out.println(this.filteredValues.get(i).isValue1()+" "+this.filteredValues.get(i).isValue2());
}
}
}
我的 Primefaces 版本:10
JSF:2.2.15
野蝇:23
乔丹:16
I have a datatable in primefaces having filtering capability, Every row is also having checkboxes. When I filter the values, and change checkbox value, then press save button, the changed value does not appear in the backend when I print them.
My datatable looks like:
<p:dataTable id="tbValues" widgetVar="kVar" var="k" value="#{mybean.values}" paginatorPosition="top" paginatorTemplate="{PreviousPageLink} {CurrentPageReport}
{NextPageLink}" filteredValue="#{mybean.filteredValues}" scrollable="true" >
<p:column headerText="Name" filterBy="#{k.name}" >
<h:outputText value="#{k.name}"/>
</p:column>
<p:column >
<f:facet name="header">
<h:outputText value="Value1"/>
</f:facet>
<h:selectBooleanCheckbox id="v1" value="#{k.value1}" immediate="true"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Value2"/>
</f:facet>
<h:selectBooleanCheckbox id="v2" value="#{k.value2}" immediate="true" />
</p:column>
<f:facet name="footer">
<p:toolbar>
<p:toolbarGroup align="left">
<p:commandButton id="saveBt" value="Save" update="tbValues" widgetVar="saveBt" actionListener="#{mybean.saveValues}"/>
</p:toolbarGroup>
</p:toolbar>
</f:facet>
</p:dataTable>
and my bean method is:
public void saveValues(ActionEvent event){
System.out.println("filter: "+this.filteredValues);
if(this.filteredValues!=null) {
for(int i=0;i<this.filteredValues.size();i++) {
System.out.println(this.filteredValues.get(i).isValue1()+" "+this.filteredValues.get(i).isValue2());
}
}
}
My Primefaces version: 10
JSF: 2.2.15
Wildfly: 23
JDk: 16
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论