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

时间:2012-08-22 22:04:48

标签: jsf primefaces jsf-2 tree

我正在使用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?
}

2 个答案:

答案 0 :(得分:1)

它不干净,但你可以

  1. 使用表上的selection属性,获取辅助bean中所选节点的句柄,然后

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

  3. 或者,您可以尝试使用<p:ajax/>组件设置所选选项,并执行上述操作。

答案 1 :(得分:0)

U可以使用方法“getRowKey()”

获取选定的节点索引

也许:

selectedNode.getRowKey()

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

selectedNode.getParent().getChildCount()