我有一個數據表(primefaces 4.0),並且我正在使用widgetVar在更新數據後應用重新篩選表。 只有當employeesDataTable_WV.filter();
真的完成過濾表並更新它時,我才需要調用函數doSomething()
。在widgetVar.filter()完成之後做一些事情,並且已經更新了p:datatable
在這個環節是展示如何工作filter
功能
https://searchcode.com/codesearch/view/2686053/
似乎做一個Ajax請求,比更新組件。
這裏我舉的例子代碼
<h:form id="form">
<p:remoteCommand name="myRemote" actionListener="viewEmployeesManagedBean.refreshEmployees"
update=":form:employeesDataTable"
oncomplete="employeesDataTable_WV.filter();doSomething();"/>
<p:dataTable id="employeesDataTable"
value="#{viewEmployeesManagedBean.employees}" var="employee" widgetVar="employeesDataTable_WV">
[...]
</p:dataTable>
</h:form>
我需要調用DoSomething的功能是過濾後,僅數據表和更新employeesDataTable_WV.filter()函數。 我的所有測試都不起作用,在更新數據表之前總是調用doSomething
函數。
非常感謝您的幫助。
對不起,但這樣也抓住了用戶在列過濾器上鍵入東西的時刻 '
\t \t \t \t \t \t \t的小時:的outputText> \t \t \t \t \t \t的小時:的outputText> \t \t' 這是真的還是我錯了? 我不想要這樣的行爲 –
HouseFragance
正確,那是你唯一的意思嗎?然後在遠程命令的完成之前在employeesDataTable_WV.filter();'set a'semaphore '和'doSomething()'首先檢查是否已設置。如果不是直接從它返回,否則實際上做一些事情。 – Kukeltje