我有一棵树(父母可以有任意数量的孩子)和一个用于按名称搜索节点的inputText。假设以下树:
A
--A1
----AA1
--A2
如果A有两个孩子A1和A2,A1有一个孩子AA1。 当我在输入文本中输入A1时,我想以编程方式设置节点(A1,AA1)以进行选择,如果有必要则扩展节点。
(我有list<T>
用于构建我的树)
答案 0 :(得分:0)
我不确定你究竟要求的是什么,但是当你输入“A1”时我会假设你想要设置节点A1及其所有子节点的值。
首先,您需要检查用户输入是否格式正确(当只使用字母和数字标识节点时,看起来不像A?1)。 其次,您需要找到指定的节点。 第三,您需要设置值并检查子项。 最后,一旦发现了孩子,请回到每个孩子的第三步。
递归可以使你的方法更加流畅,但如果你不喜欢递归则没有必要。
很抱歉这么模糊的回答,但没有更详细的问题,很难提供更详细的解决方案。
答案 1 :(得分:0)
您可以使用richfaces的TreeNode而不是list,这样您就可以轻松实现您的要求。 因为使用它你可以使用键值轻松获得父子关系