我是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的最终值,然后单击下一页。现在,如果我回到第一页,我发现所有先前输入的值都从数据表中消失了。 请帮忙解释一下,如果我在数据表中遗漏了一些属性,请告诉我。我还想知道是否有可能从JQuery处理这个问题。 任何帮助将不胜感激!
答案 0 :(得分:0)
合并dataScroller中的以下行
<强> EDITED 强>
<rich:dataScroller for="itemDataTable" maxPages="30" execute="itemDataTable"/>
这应该做的伎俩!!
答案 1 :(得分:0)
在rich中:ajaxSingle属性的dataScroller默认值为true。你必须明确地将它弄错。问题是由于ajaxSingle =“true”
,您的数据表值未提交像这样更改数据滚动
<rich:dataScroller for="itemDataTable" maxPages="30" ajaxSingle="false"/>
这应该可以解决您的问题。
请参阅rich:dataScroller here
的标记信息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属性在页面更改时处理数据表。
<rich:dataScroller for="itemDataTable" maxPages="30" execute="your datatable id here"/>