У меня есть p:dataTable
с selectionMode=multiple
, который связывает события rowSelect
и rowUnselect
:
<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.selection
, ни myBean.onSelect()
не обновляются/не вызываются. Что мне нужно сделать, чтобы включить это?
selectAllRows()
нет ни Ajax-Call, ни сетевого трафика. Я также пытался вызватьPF('myDatatable').fireRowSelectEvent()
до или после вызоваselectAllRows()
, но не смог определить правильные параметры. - person Bob   schedule 02.12.2016PF('widget_form_multipleDT').selectAllRows()
из консоли разработчика, а затем нажав кнопку «Просмотр». Затем кажется, что сервер имеет все строки и отображает их. Просто нет события rowSelect - person Kukeltje   schedule 02.12.2016<p:ajax>
-события, выбор будет правильно обновлен для моей таблицы данных. Но мне нужны события, так что опускать их, к сожалению, нельзя... - person Bob   schedule 02.12.2016