以前输入的值在JSF数据表中消失了

时间:2014-01-29 03:39:26

标签: jquery jsf datatable jsf-2 richfaces

我是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处理这个问题。 任何帮助将不胜感激!

2 个答案:

答案 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"/>