我是JSF的新手。这就是我的问题:我在JSF页面的表单中有一个数据表。
<h:form id="mainForm">
<rich:dataScroller for="itemDataTable" maxPages="30"/>
<rich:dataTable rowKeyVar="rkVar" rows="15" id="itemDataTable" value="#{itemsController.itemDM}" var="r">
<h:column id="setValue">
<h:inputText id="finalItem" valueChangeListener="#{itemsController.recalculate()}" value="#{r.items.prices}"/>
</h:column>
...
...
<!-- other columns -->
</rich:dataTable>
<rich:dataScroller for="itemDataTable" maxPages="30"/>
</h:form>
我的数据表中大约有15页。我在第一页中输入了finalItem的最终值,然后单击下一个page.Now。如果返回到第一页,我发现之前输入的所有值都从数据表中消失了。请在这方面提供帮助,如果我在数据表中遗漏了一些属性,请让我知道。我也想知道是否有可能从JQuery处理这个问题。任何帮助都将不胜感激!
发布于 2014-01-29 15:38:33
在rich:dataScroller中,ajaxSingle属性的默认值为true。您必须显式地将其设为false。问题是由于ajaxSingle=为“true”,您的datatable值没有被提交。
如下所示更改您的数据滚动条
<rich:dataScroller for="itemDataTable" maxPages="30" ajaxSingle="false"/>
这应该可以解决您的问题。
这里可以查看rich:dataScroller的标签信息
http://livedemo.exadel.com/richfaces-demo/richfaces/dataTableScroller.jsf?tab=info&cid=574957
对于Richfaces 4.X
有关rich:datascroller的属性,请参阅此链接
http://docs.jboss.org/richfaces/latest_4_X/vdldoc/。
您可以使用execute属性在页面更改时处理datatable。
<rich:dataScroller for="itemDataTable" maxPages="30" execute="your datatable id here"/>
https://stackoverflow.com/questions/21421572
复制相似问题