首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rich:dataScroller不会刷新JSF中的rich:dataTable

rich:dataScroller不会刷新JSF中的rich:dataTable
EN

Stack Overflow用户
提问于 2009-12-29 17:24:55
回答 5查看 14.2K关注 0票数 1

我有一个rich:dataTable和一个rich:dataScroller。当我点击数据管理员时,我的dataTable不会自动刷新以显示正确的页面。但是,如果我按下刷新按钮,dataTable将显示正确的页面。

我做错了什么?

下面是我的代码:

代码语言:javascript
复制
<rich:dataTable id="applicantsTable"
binding="#{applicantListManBean.applicantsDataTable}"
value="#{applicantListManBean.applicantsList}" var="applicant"
rows="10" width="650">

<h:column>
    <f:facet name="header">
        <h:outputText value="Name" />
    </f:facet>
    <h:outputText value="#{applicant.name}" />
</h:column>

<h:column>
    <f:facet name="header">
        <h:outputText value="Email" />
    </f:facet>
    <h:outputText value="#{applicant.email}" />
</h:column>

<h:column>

    <f:facet name="header">
        <h:outputText value="Action" />
    </f:facet>

    <h:commandLink action="#{applicantListManBean.showApplicantProducts}"
        rendered="true">
        <h:graphicImage value="/images/icons/view.png" width="15" height="15"
            alt="view" />
        <f:setPropertyActionListener
            target="#{applicantListManBean.tempApplicant}" value="#{applicant}" />
    </h:commandLink>

    <h:commandLink action="#{applicantListManBean.deleteApplicant}"
        rendered="true">
        <h:graphicImage value="/images/icons/delete.png" width="15"
            height="15" alt="view" />
        <f:setPropertyActionListener
            target="#{applicantListManBean.tempApplicant}" value="#{applicant}" />
    </h:commandLink>

</h:column>
</rich:dataTable>

<rich:datascroller id="applicantsScroller" for="applicantsTable"
reRender="sc1" maxPages="7" page="#{applicantListManBean.scrollerPage}" />

更新:附加Javascript错误:

1http://imgur.com/132fL.png

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-15 16:24:18

问题出在h:commandLink。它以某种方式给有钱人带来了问题:datatable。改为使用4j:commandLink或s:link (如果您使用Jboss Seam)。

票数 1
EN

Stack Overflow用户

发布于 2009-12-29 17:28:06

删除reRender="sc1"。您已经从RichFaces演示中复制粘贴了这段代码,但是您已经删除了"sc1“组件,因此可能发生了javascript错误,从而阻止了表的刷新。

还要确保你的dataTabledatascroller<h:form>..</h:form>包围(两者都是一种形式)

票数 3
EN

Stack Overflow用户

发布于 2010-09-30 04:32:51

您可能需要考虑使用t:saveState标记或将处理程序放入会话作用域。发生这种情况的原因可能是因为您的处理程序位于request作用域中,并且由于commandLink是另一个请求,因此它无法找到要回发的原始处理程序实例。只要把这个saveState放在这里,我的就开始工作了。

这只是个想法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1973711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档