p:datatable selectAllRows api调用不要触发rowSelect事件

时间:2016-12-02 14:18:52

标签: ajax primefaces datatable multipleselection

我有一个p:dataTable selectionMode=multiple来绑定rowSelectrowUnselect事件:

<p:dataTable 
    widgetVar="myDatatable" 
    selectionMode="multiple" 
    selection="#{myBean.selection}">
    <p:ajax event="rowSelect" listener="#{myBean.onSelect}" />
    <p:ajax event="rowUnselect" listener="#{myBean.onUnselect}" />
... (columns)
</p:dataTable>

选择行正常,myBean.selection已更新,并且myBean.onSelect()已被调用。

现在我想添加按钮以(取消)选择所有项目到我的工具栏。我创建了两个<p:commandLink> s:

<p:commandLink onclick="PF('myDatatable').selectAllRows();" 
            update="actionbarForm">select all</p:commandLink>
<p:commandLink onclick="PF('myDatatable').unselectAllRows();" 
            update="actionbarForm">unselect all</p:commandLink>

选择似乎有效,我可以看到所有项目都被(未)选中。但是,myBean.selectionmyBean.onSelect()都不会被更新/调用。我该怎么做才能启用它?

0 个答案:

没有答案