Работа с TreeView
Подскажите пожалуйста, как мне правильно работать с treeView, т.е. как добавить туда строку и подстроку с помощью кнопки.
Нашёл материал по этому но получилось только сохранить это дерефо в текстовый файл и загрузить его.
А вот как сделать чтобы пользователь мог самостоятельно добавлять в него не получается :(
и ещё момент, как сделать так чтобы при выборе какого либо элемента из этого дерева, выводилась информация в memo или ещё какое нибудт поле вывода
Подскажите пожалуйста, как мне правильно работать с treeView, т.е. как добавить туда строку и подстроку с помощью кнопки.
Нашёл материал по этому но получилось только сохранить это дерефо в текстовый файл и загрузить его.
А вот как сделать чтобы пользователь мог самостоятельно добавлять в него не получается :(
и ещё момент, как сделать так чтобы при выборе какого либо элемента из этого дерева, выводилась информация в memo или ещё какое нибудт поле вывода
можно посмотреть здесь пример на С++, но в паскаль не сложно переписывается
поставь на форме TTreeView (TreeView1), TEdit (Edit1) и TButton (Button1). На клике по последнему напейши такую процедурку:
begin
if TreeView1.Selected <> nil then
begin
TreeView1.Items.AddChild(TreeView1.Selected, Edit1.Text);
TreeView1.Selected.Expanded := True;
end
else
TreeView1.Items.Add(nil, Edit1.Text);
end;
поставь на форме TTreeView (TreeView1), TEdit (Edit1) и TButton (Button1). На клике по последнему напейши такую процедурку:
begin
if TreeView1.Selected <> nil then
begin
TreeView1.Items.AddChild(TreeView1.Selected, Edit1.Text);
TreeView1.Selected.Expanded := True;
end
else
TreeView1.Items.Add(nil, Edit1.Text);
end;
спасибо конечно, но я так пробовал, всё прекрасно работает, ещё раз благодарю, но как добавить не только пункт, но и подпункт (на то оно и дерево, чтобы иметь какую то иерархию)??? вот в чём вопрос :confused:
PS: ключевое слово AddChild
Т.Е.: Имеется одно дерево с определённой информацией, а потом появилось другое дерево (с обновлённой информацией - что то добавилось или изменилось) и надо чтобы программа автоматически проверила эти значения и если необходимо заменила старую информацию на новую :confused:
Т.Е.: Имеется одно дерево с определённой информацией, а потом появилось другое дерево (с обновлённой информацией - что то добавилось или изменилось) и надо чтобы программа автоматически проверила эти значения и если необходимо заменила старую информацию на новую :confused:
есть у TreeNode свойство Data (в С++ это пустой тип void* и записывай туда что хочешь) можно в цикле пробежаться по всем нодам дерева и сравнивая это свойство, делать выводы, что изменилось (Child появились новые и т.п.)
Извини если я занудничаю, а можно кодом это показать мне???
1. Какой конкретно TreeView?
2. Каким образом TreeView завязан с датасетом?
UPD. А, вчитался. Первый вопрос отпадает. Второй остаётся только догадываться.
TTreeView привязан к ADOTable, вот как здесь,
http://www.intuit.ru/department/se/dbpdelphi/10/1.html
только теперь нужно сделать так что бы при выборе узла, в гриде отображалась данная запись, я просто как то туповат и не помимаю, хотелось бы сделать а понять не могу
http://www.intuit.ru/department/se/dbpdelphi/10/1.html
Кретинизм какой-то. По-моему, самый простой способ связать TreeView с данными в базе -- добавлять ветви, записывая Bookmark в свойство TTreeNode.Data (или Object?). Для перехода к нужной записи достаточно будет выполнить GotoBookmark.
Твой К.О.
З.Ы. В связи с усиливающимся кретинизмом задающих вопросы я думаю что может тему закрыть?