我在项目中使用了primefaces组件。
我的问题是关于pickList组件。
<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个项目。
为什么会这样?
请帮帮我。
我昨天在社区问了这个问题。
请有人帮助我。
有解决方案吗?
答案 0 :(得分:0)
我还没有测试过您的代码,但是会认为问题是substring(begin, end)
处理提交的所有来源和所有目标,这意味着转换器会为所有实体运行,如果这意味着为每个实体调用数据库需要很长时间。
如果你找到一种避免处理源列表的方法,你将遇到其他问题,使dom和backing bean中的列表保持同步(至少我做了),例如,如果发生错误。
如果这是问题,我发现的最简单的解决方案是使用OmniFaces ListConverter。它真的很棒。但是,这是否足够快,可以转换我不知道的每一次转移的所有内容。