2

我正在使用 primefaces 树表,并尝试在每一行上创建按钮,以便用户可以重新排序树表中的元素。

例如,如果我有一个树表,其中有 3 个节点都在同一级别,并且树表中的这三个节点中的每一个都有一个“向上”按钮,如果在其中一个节点上单击向上按钮,我想要那个节点向上移动(基本上重新排序节点)。

如何获取所选节点的索引?

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?
}
4

2 回答 2

1

它不干净,但你可以

  1. 使用selectiontable 上的属性,获取 backing bean 中所选节点的句柄,然后

  2. 使用indexOf您支持的方法(我假设)List,获取项目的索引。primefaces 的动态生成的数据绑定项的顺序通常遵循支持集合的索引/排序,因此您可以信任索引。

或者,您可以尝试使用该<p:ajax/>组件来设置所选选项并按照上述方式进行操作。

于 2012-09-03T07:27:07.457 回答
0

您可以使用“getRowKey()”方法获取选定的节点索引

也许:

selectedNode.getRowKey()

而且,如果 U 想要计数节点大小 U 可以使用方法“getChildCount()”,也许:

selectedNode.getParent().getChildCount()
于 2016-11-03T07:45:20.200 回答