【问题标题】:Primefaces Datable liveScroll + lazy loading - filter not workingPrimefaces Datatable 实时滚动 + 延迟加载 - 过滤器不起作用
【发布时间】:2014-08-25 09:21:45
【问题描述】:

使用 PrimeFaces 5.0。

我的数据表使用延迟加载和实时滚动,我尝试过滤这两个字段:

<p:dataTable id="eventsTable" value="#{eventController.eventModel}" var="event" lazy="true"
   scrollRows="100" liveScroll="true" scrollable="true" scrollHeight="500">
   <p:column headerText="EID" filterBy="#{enent.eid}">
      <h:outputText value="#{event.eid}" />
   </p:column>
   <p:column headerText="Type" filterBy="#{event.type}">
      <h:outputText value="#{event.type}" />
   </p:column>
</p:dataTable>

初始加载正确检索数据,并且实时滚动似乎工作正常。

但是当我尝试过滤其中一个字段时,数据表被完全清空(它甚至没有显示“未找到记录”消息)。当我调试时,我可以看到我的查询正确执行并返回数据。

另外,如果我使用分页而不是 liveScroll 进行切换,页面会正确延迟加载,并且过滤器也可以工作。

有什么想法吗?

【问题讨论】:

    标签: jsf primefaces datatable lazy-loading


    【解决方案1】:

    你必须设置数据表的行属性。

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    • 尝试设置 rows 属性,然后就可以了。这是你问题的答案。在你尝试之前不要删除我的帖子。在您的数据表标签上,您必须添加与滚动行相同的行数=“100”
    • 谢谢!这行得通。我设置了 scrollRows,但没有设置行。
    猜你喜欢
    • 2014-04-10
    • 2015-09-18
    • 2014-04-07
    • 2016-06-29
    • 2012-04-28
    • 2011-09-15
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    相关资源
    最近更新 更多