首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primefaces PickList Ajax传输事件未触发

Primefaces PickList Ajax传输事件未触发
EN

Stack Overflow用户
提问于 2017-02-18 08:29:49
回答 1查看 778关注 0票数 2

我在我的项目中使用了primefaces组件。

我的问题是关于pickList组件的。

代码语言:javascript
复制
<p:pickList>
  <p:ajax event="transfer" listener="#{rotaBean.operacao}" update="msg frequencia" process="pickList" partialSubmit="true"
         oncomplete="if (args.validationFailed){ PF('periodoColeta').hide();} else{ PF('periodoColeta').show();}" />
</p:pickList>

当我在pickList的源列表中有很多项时,就不会调用传输事件ajax。

源列表大约有2000个项目。

为什么会发生这种情况?

请帮帮我。

我昨天在primefaces社区问了这个问题。

Primefaces Community

有人能帮帮我吗?

有解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2017-02-18 16:57:21

我还没有测试你的代码,但我认为问题在于p:pickList在提交时同时处理所有源和所有目标,这意味着转换器为所有实体运行,如果这意味着为每个实体调用数据库,则需要很长时间。

如果您找到了一种避免处理源列表的方法,那么您将会遇到其他问题,例如,如果发生错误,那么保持dom和backing bean中的列表保持同步(至少我是这样做的)。

如果这就是问题所在,我发现最简单的解决方案就是使用OmniFaces ListConverter。它真的很好用。但这是否足够快,以转换每一次传输的所有内容,我不知道。

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

https://stackoverflow.com/questions/42309656

复制
相关文章

相似问题

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