java - PrimeFaces:在 Javascript 中获取当前列的排序顺序

标签 java javascript jsf primefaces datatable

我目前正在尝试在用户重新排序时获取 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/

相关文章:

javascript - Shopify 触发变体选择功能,但不覆盖现有功能

jsf - 我可以将多个列表数组放在同一 h 的不同列中吗 :datatable?

javascript - 使用 api v3 将信息窗口添加到谷歌地图上的循环标记数组

javascript - 使用 JavaScript 在 &lt;textarea&gt; 上随机播放选定的文本

java - 当 <ui :repeat> works for X but <c:forEach> works for Y

jsf - 如果列表不为 null 并且 size() > 0,如何显示 JSF 组件

c# - 在 C# 中访问 java 编译器的输出

java - weblogic下使用自定义类加载器加载eclipselink域模型

java - EventHandler 何时以及为何要求对象是最终的?

java - 使用cn1 toolBar后无法使用Android原生的back命令