JSF更新仅更改了值

时间:2016-09-14 12:46:04

标签: performance jsf jsf-2 primefaces

我试图获得有关我的想法的一些信息,但仍然没有。 我不知道,如果有办法实现这个目标:

我正在使用一个表面<p:dataTable>来显示一个项目列表。如果某些条目发生更改,我要更新我的表格,我在<p:ajax>的oncomplete事件中使用 datatableWidgetVar.filter() 。因为处理列表非常大(约50k-100k条目),所以通过其过滤方法“更新”dataTable需要几秒钟,并且有一个“闪烁”我想删除......

我不希望用户看到,重新加载组件,我的意思是它应该更“流畅”。有没有办法比较这两个列表,只更新已更改的行,所以我不需要重新渲染50,000个项目?或者我应该将更改的项目(通过id可能?)传递到我的jsf页面并选择受影响的行? primefaces是否提供这样的算法?

在此先感谢您,如果您需要一些代码或更多详细信息,请与我联系;)

修改

我一直在考虑这个问题,然后呢:

  1. 访问dataTable的基础项目列表(客户端)
  2. 将服务器端(较新)列表与(较旧的)客户端(新)列表进行比较
  3. 获取更改(修改,添加,删除)条目
  4. 强制我的dataTable仅更新那些'行'
  5. 这是一个好习惯吗?

0 个答案:

没有答案