rich: tree - программно установить выбранный узел - PullRequest
3 голосов
/ 26 октября 2010

У меня есть дерево (родитель может иметь любое количество дочерних элементов) и inputText для поиска узлов по имени.Предположим следующее дерево:

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

Если у A есть два дочерних элемента A1 и A2, у A1 есть один дочерний элемент AA1.Когда я набираю A1 во входном тексте, я хочу программно установить узлы (A1, AA1) для выбора и, если необходимо, расширяет узлы.

(у меня есть list<T> для построения моего дерева)

Ответы [ 2 ]

0 голосов
/ 31 октября 2012

Вы можете использовать TreeNode richfaces вместо списка, чтобы вы могли легко выполнить ваши требованияпотому что, используя его, вы можете легко получить отношения родитель-ребенок, используя значение ключа

0 голосов
/ 31 октября 2012

Я не уверен, что именно вы запрашиваете, но я предполагаю, что вы хотите установить значение узла A1 и всех его дочерних элементов при вводе "A1".

Сначала вам нужноубедитесь, что пользовательский ввод отформатирован правильно (не похоже на A? 1, когда для идентификации узлов используются только буквы и цифры).Во-вторых, вам нужно найти указанный узел.В-третьих, вам нужно установить значение и проверить наличие детей.Наконец, когда дети обнаружены, вернитесь к третьему шагу для каждого ребенка.

Рекурсия может сделать ваш метод более гладким, но в этом нет необходимости, если вам не нравится рекурсия.

Извините за такой расплывчатый ответ, но без более подробного вопроса трудно датьподробное решение.

...