【问题标题】:Load parts of the data lazily in prime faces data-table在素面数据表中延迟加载部分数据
【发布时间】:2015-06-30 17:03:26
【问题描述】:

有时我们使用一些 DB Query 带来 ID(或一些键值),并使用不同的 DB Query 甚至从完全不同的数据源获取其他数据(例如,这很耗时)。

在标准 HTML/JQuery 应用程序中,我们可以在一个请求/响应周期中获取 ID 并将它们绘制在表单上,​​然后对于每一特定行,我们可以为每一行发送单独的 Ajax 请求然后在数据表中绘制结果。

我的问题是,如何在典型的Primefaces App 中实现这样的功能?

编辑

我希望有类似这样的行为: http://www.primefaces.org/showcase/ui/data/datatable/expansion.xhtml 但不是展开,我希望展开中显示的数据懒惰地显示在主数据表的列上。

【问题讨论】:

  • 加载 id 然后循环遍历它们并对每个 id 进行单独的 ajax 调用听起来像是不好的做法。 PrimeFaces 不支持这一点。如果您有昂贵的查询,并且仍想在多行的数据表中显示它,则很可能存在设计问题。在数据库/模型或 ui 中。由于两者都导致错误的 uix
  • 我对您在“标准 HTML/JQuery 应用程序”中的示例感到困惑。所以你得到ID/行,绘制它们,然后对于每一行你得到更多的数据并绘制它?这些甚至会是什么样子?首先绘制一个大部分为空的表格,然后逐渐填充表格字段?
  • 好吧,ID 不是 DB Id,它是用户 ID(和其他相关列),这是大多数最终用户关心的问题。此外,如果我一次运行一个查询来获取所有数据,除了(超过一分钟)之外,数据可能来自两个数据源。这实际上是目前已经使用的模型。
  • @DavidS:是的。我在几个网站上看到过这种情况。非常烦人,分散注意力等

标签: jquery jsf primefaces


【解决方案1】:

更新数据表模型取消轮询请求后,您可以使用ajax poll 更新数据表一次 Primefaces datatable dynamic update

【讨论】:

  • 我很惊讶这是对这个问题的回答。您如何以及更新它的内容是什么?这比直接显示所有内容要快得多......
【解决方案2】:

如果您担心数据表重载,可以使用带有分页功能的惰性数据表。示例用法可以在 primefaces 展示中找到 Primefaces Datatable (Lazy)

【讨论】:

  • 我想延迟加载列(不是行)
  • 您是否检查过动态列在这种情况下可能会有所帮助
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 2020-07-20
相关资源
最近更新 更多