数据表中的筛选器事件后选择不起作用

时间:2017-05-05 08:38:42

标签: primefaces datatable

我正在使用primefaces数据表,它同时包含用于行选择的过滤器和单选按钮。

<p:dataTable id="dtId" var="bVar" widgetVar="dtWVar"
value="#{bBean.myList}" filteredValue="#{bBean.bfilter}"
rowKey="#{bVar.Id}" selection="#{bBean.selectedObj}">
<p:ajax event="filter" listener="#{bBean.onFilter()}" />

<p:ajax event="rowSelectRadio"
    actionListener="#{bBean.onSelectRadio()}" />
<p:column selectionMode="single" headerText="RadioColHeader">

选择单选按钮时,值将在selectedObj中设置,但在使用数据表过滤器后它将停止工作。单选按钮被选中,但所选对象未在selectedObj中设置。

请建议一种方法,即使在触发过滤器事件后,也可以将选定的行值输入选择对象。

1 个答案:

答案 0 :(得分:1)

在ajax过滤器事件中调用process="@this"然后通过远程命令更新数据表时修复了此问题,如下所示:

Ajax事件 - 在数据表中

<p:ajax event="filter" process="@this" listener="#{bBean.onFilter()}" oncomplete="updateDataTable();" />

远程命令 - 在数据表之外

<p:remoteCommand name="updateDataTable" update="dtId" />