我目前正在尝试在用户重新排序时获取 PrimeFaces 数据表中列的当前顺序。由于服务器端事件不提供任何参数,我决定使用 JavaScript 处理程序来执行此操作。
function onColumnReorder(glossary) {
var sortedColumnNames = ...
}
“词汇表”是我的数据表小部件变量。问题是:我现在如何按当前顺序检索列名?请注意,我不是在谈论表格数据排序,而是在谈论列在表格中出现的当前顺序(从左到右)——当然这可能会改变,因为“draggableColumns”设置为 true。
感谢您的任何建议和最诚挚的问候 帕斯卡
最佳答案
首先在datatable
上定义colReorder
AJAX事件:
<p:ajax event="colReorder" listener="#{myBean.onColReorder}"/>
在 onColReorder
方法中通过 ID 找到您的数据表 UIViewRoot#findComponent()
方法。在找到您的 DataTable
之后对象很容易。使用 getColumns()
在 onColReorder()
FacesContext fc = FacesContext.getCurrentInstance();
DataTable myDatatable = (DataTable) fc.getViewRoot().findComponent("your_datatable");
List<UIColumn> columns = myDatatable.getColumns();
关于java - PrimeFaces:在 Javascript 中获取当前列的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14602071/