我有一個p:dataTable
與selectionMode=multiple
結合的rowSelect
和rowUnselect
事件:號碼:數據表selectAllRows API調用不會觸發rowSelect事件
<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()
。
現在我想添加按鈕(un)將所有項目選擇到我的工具欄。我創建了兩個<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>
的選擇似乎工作,我可以看到無論是所有項目(UN)選擇了。但是,更新/調用myBean.selection
和myBean.onSelect()
都不是。我必須這樣做才能實現這個目標?
我沒有真正的想法,但是我應該去調試一些東西來找出更多的東西,但是出於好奇,你**調試了什麼? Ajax調用?網絡流量?檢查PrimeFaces源代碼(包括js和java文件)。很多你可以做的事 – Kukeltje
我檢查過,調用'selectAllRows()'時沒有Ajax-Call或網絡流量。我也嘗試在調用'selectAllRows()'之前或之後調用'PF('myDatatable')。fireRowSelectEvent()',但是我找不到正確的參數。 – Bob
如果你使用了'commandButton',例如從頁面觸發一個調用(使用selectAllRows函數後)。例如。就像在'Multiple with Meta and Shift keys'的展示中一樣' – Kukeltje