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

问题描述 投票:0回答:2

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

jquery jsf datatable jsf-2 richfaces
2个回答
0
投票

在rich中:ajaxSingle属性的dataScroller默认值为true。你必须明确地将它弄错。问题是由于ajaxSingle =“true”,您的数据表值未提交

像这样更改数据滚动条

     <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属性在页面更改时处理数据表。

<rich:dataScroller for="itemDataTable" maxPages="30" execute="your datatable id here"/>  

0
投票

合并dataScroller中的以下行

EDITED

 <rich:dataScroller for="itemDataTable" maxPages="30"  execute="itemDataTable"/> 

这应该做的伎俩!!

© www.soinside.com 2019 - 2024. All rights reserved.