Primefaces PickList Ajax传输事件未触发

时间:2017-02-18 00:29:49

标签: jquery jsf primefaces picklist

我在项目中使用了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个项目。

为什么会这样?

请帮帮我。

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

Primefaces Community

请有人帮助我。

有解决方案吗?

1 个答案:

答案 0 :(得分:0)

我还没有测试过您的代码,但是会认为问题是substring(begin, end)处理提交的所有来源和所有目标,这意味着转换器会为所有实体运行,如果这意味着为每个实体调用数据库需要很长时间。

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

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