【发布时间】:2013-01-14 03:42:50
【问题描述】:
我目前正在尝试在用户重新排序时获取 PrimeFaces 数据表中列的当前顺序。由于服务器端事件不提供任何参数,因此我决定使用 JavaScript 处理程序来执行此操作。
function onColumnReorder(glossary) {
var sortedColumnNames = ...
}
“词汇表”是我的数据表小部件变量。问题是:我现在如何按当前顺序检索列名?请注意,我不是在谈论表格数据排序,而只是在谈论列在表格中出现的当前顺序(从左到右) - 当然这可能会改变,因为“draggableColumns”设置为 true。
感谢您的任何建议和问候 帕斯卡
【问题讨论】:
-
您要处理列重新排序还是排序。列重新排序是指替换或重新定位表中的列,排序是按某些列中的值(asc 或 desc)排序。对于排序,您有“排序”ajax 事件,其中包含对哪一列进行排序的信息。
-
我希望能够将用户的列排序(不是值排序)存储在他的个人偏好中。
-
您也许可以在数据表上使用
colReorderajax 事件,并在支持bean 中按ID 查找数据表组件,并且您有getColumns方法,它返回列列表。 -
这样也行——如果不是更好的话。虽然我怎样才能检索 Datatable 组件?我的页面中有不止一个,由
生成。不过,我确实知道他们各自的 ID。 -
您可以通过编程方式将
<p:dataTable>与您的托管bean 绑定,但这要求您的托管bean 至少有@SessionScoped。
标签: java javascript jsf primefaces datatable