rich:tree - 以编程方式设置所选节点

时间:2010-10-26 06:44:02

标签: java jsf richfaces

我有一棵树(父母可以有任意数量的孩子)和一个用于按名称搜索节点的inputText。假设以下树:

A
--A1
----AA1
--A2

如果A有两个孩子A1和A2,A1有一个孩子AA1。 当我在输入文本中输入A1时,我想以编程方式设置节点(A1,AA1)以进行选择,如果有必要则扩展节点。

(我有list<T>用于构建我的树)

2 个答案:

答案 0 :(得分:0)

我不确定你究竟要求的是什么,但是当你输入“A1”时我会假设你想要设置节点A1及其所有子节点的值。

首先,您需要检查用户输入是否格式正确(当只使用字母和数字标识节点时,看起来不像A?1)。 其次,您需要找到指定的节点。 第三,您需要设置值并检查子项。 最后,一旦发现了孩子,请回到每个孩子的第三步。

递归可以使你的方法更加流畅,但如果你不喜欢递归则没有必要。

很抱歉这么模糊的回答,但没有更详细的问题,很难提供更详细的解决方案。

答案 1 :(得分:0)

您可以使用richfaces的TreeNode而不是list,这样您就可以轻松实现您的要求。 因为使用它你可以使用键值轻松获得父子关系