【问题标题】:checkbox checking lost during polling with a4j:poll使用 a4j:poll 轮询期间复选框检查丢失
【发布时间】:2013-06-17 06:51:47
【问题描述】:

在我的jsf页面中,有一个使用rich:dataTable的表格,表格的每一行都有一个h:selectBoolenCheckbox,我想用它来检查一些行,然后单击一个按钮来触发仅对选中行的操作。 而且这个页面还有一个a4j:poll组件,每15秒刷新一次表格数据。之后问题来了: 我的 a4j:poll 将调用一个动作来加载最新的数据,加载时间需要 2-4 秒。如果我在加载期间单击某个复选框以选择某些行,则加载完成后选中的复选框将丢失。 那么您是否遇到过同样的问题以及如何避免呢?

【问题讨论】:

  • 在以后的问题中,请始终提及确切的 JSF impl/version 以及您正在使用的任何组件库之一。它使给出更详细的答案更容易,因为根据使用的版本,方法可能会有所不同。
  • 我使用 jsf1.2 和 Richfaces 3.x。

标签: jsf ajax4jsf


【解决方案1】:

只是不要更新整个表格。 更新真正需要更新的单元格。您可以在<a4j:poll>reRender (RF 3.x) 或render (RF 4.x) 属性中使用 EL 来动态填充所有单元格的以空格分隔的客户端 ID 字符串。

【讨论】:

  • 在我的情况下,复选框也需要在每次轮询中重新渲染,因为它可能会根据操作执行结果更改禁用状态。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
相关资源
最近更新 更多