我有一颗树(父节点可以有任意数量的子节点),和一个用于按名称搜索节点的输入框。 假设以下是树的结构:
A
--A1
----AA1
--A2
如果 A 有两个孩子 A1 和 A2,A1 有一个孩子 AA1。 当我在输入框中输入 A1 时,我希望能够通过编程方式设置节点(A1、AA1)以进行选择,并在必要时展开节点。
我有一个用于构建树的 list<T>
。
我有一颗树(父节点可以有任意数量的子节点),和一个用于按名称搜索节点的输入框。 假设以下是树的结构:
A
--A1
----AA1
--A2
如果 A 有两个孩子 A1 和 A2,A1 有一个孩子 AA1。 当我在输入框中输入 A1 时,我希望能够通过编程方式设置节点(A1、AA1)以进行选择,并在必要时展开节点。
我有一个用于构建树的 list<T>
。
我不确定您具体需要什么,但我假设您想在键入“A1”时设置节点A1及其所有子节点的值。
首先,您需要检查用户输入的格式是否正确(当仅使用字母和数字来标识节点时,不要像A?1那样)。 其次,您需要定位指定的节点。 第三,您需要设置该值并检查其子节点。 最后,一旦发现子节点,请为每个子节点返回第三步。
递归可以使您的方法更加简洁,但如果您不喜欢递归,则不是必需的。
很抱歉给出如此模糊的答案,但如果没有更详细的问题,很难提供更详细的解决方案。
您可以使用Richfaces的TreeNode代替列表,这样您就可以轻松地实现您的要求。因为使用它,您可以轻松地通过键值获取父子关系。