Jsf 如何在PrimeFaces重置动态列的排序?
我有动态列,它们被排序和过滤。我设法清除了过滤器,但根据Primefaces的说法,没有清除客户端API排序的函数 My.xhtml:Jsf 如何在PrimeFaces重置动态列的排序?,jsf,primefaces,primefaces-datatable,Jsf,Primefaces,Primefaces Datatable,我有动态列,它们被排序和过滤。我设法清除了过滤器,但根据Primefaces的说法,没有清除客户端API排序的函数 My.xhtml: <p:dataTable id="tableId" value="#{statisticCreateBean.tableData}" var="data" widgetVar="dataTbl" r
<p:dataTable id="tableId" value="#{statisticCreateBean.tableData}"
var="data" widgetVar="dataTbl"
rendered="#{not empty statisticCreateBean.tableData}">
<p:columns id="columnId" value="#{statisticCreateBean.columnModel}"
var="column" sortBy="#{data[column.fieldName]}"
filterBy="#{data[column.fieldName]}">
<f:facet name="header">
#{column.displayName}
</f:facet>
<h:outputText value="#{data[column.fieldName]}" />
</p:columns>
</p:dataTable>
是否有办法清除动态列上的排序?要正确重置排序和筛选器,请获取数据表并调用
重置
DataTable DataTable=(DataTable)FacesContext.getCurrentInstance().getViewRoot().findComponent(“statisticForm:tableId”);
datatable.reset();
获取数据表本身而不是列,并调用'Datatable.reset();“应该重置排序和筛选器。谢谢,非常适合我!如果您想标记它,我将其作为解决方案发布。”。
Columns columns = (Columns)FacesContext.getCurrentInstance().getViewRoot().findComponent("statisticForm:tableId:columnId");
columns.setSortBy(null);
PrimeFaces.current().executeScript("PF('dataTbl').clearFilters();");