我正在使用trefaceable的primefaces,我正在尝试在每一行上创建按钮,以便用户可以重新排序树表中的元素。
例如,如果我有一个树状表,其中3个节点都在同一级别,并且treetable中的这三个节点中的每一个都有一个“向上”按钮,如果在其中一个节点上单击向上按钮,希望该节点向上移动(基本上重新排序节点)。
如何获取所选节点的索引?
for(int i = 0; i < selectedNode.getParent().getChildren().size(); i++) {
// how can i compare the index of the current child in the loop to the selected child?
}
答案 0 :(得分:1)
它不干净,但你可以
使用表上的selection
属性,获取辅助bean中所选节点的句柄,然后
在您的支持(我假设)indexOf
上使用List
方法,获取项目的索引。动态生成的数据表项的顺序通常遵循后备集合的索引/顺序,因此您可以信任索引。
或者,您可以尝试使用<p:ajax/>
组件设置所选选项,并执行上述操作。
答案 1 :(得分:0)
U可以使用方法“getRowKey()”
获取选定的节点索引也许:
selectedNode.getRowKey()
并且,如果你想要计算节点大小U可以使用方法“getChildCount()”,也许:
selectedNode.getParent().getChildCount()