|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2011, 21:23 | #1 |
Пользователь
Регистрация: 24.07.2009
Сообщений: 35
|
treeview
доброго времени суток. Есть вопрос работы с treeview в delphi
задача такая: Есть поля в treeview c каталогами и подкаталогами, нада при нажатии подкаталог выполнять какое нить действие ( к пирмеру присвоить переменной значение). Просто при нажатии на каталог знаю как зделать, а вот с подкаталогами ещё неработал, пробывал искать в гугле нормальной темы так и не нашёл... Зарание благадарен за помощь |
11.12.2011, 23:28 | #2 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
Попробуйте использовать свойство Parent у узла TreeView. Если его значение не равно nil - значит это подкаталог.
Т.е. обработчик события нажатия все тот же, но при нажатии проверяем является ли нажатый узел дочерним или же он материнский (его свойство Parent = nil). Вы это хотели узнать? Последний раз редактировалось kettanaito; 11.12.2011 в 23:43. |
12.12.2011, 01:28 | #3 |
Пользователь
Регистрация: 24.07.2009
Сообщений: 35
|
не мне не проверка нада "подкаталог ли" мне нада конкретное нажатие
ну вот к примеру идёт у меня древо -тема 1 --->содержание --->задачи -тема 2 --->содержание --->Задачи При нажатии подкаталога темы 1 "содержание" мне необходимо присвоить переменной id значение 1 по другому подкаталогу естественно другое значение (id:=2) мне эт нада значение чтоб потом выполнить запрос по базе |
12.12.2011, 09:12 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну дык
Код:
I'm learning to live...
|
12.12.2011, 14:44 | #5 |
Пользователь
Регистрация: 24.07.2009
Сообщений: 35
|
Нашёл что искал методом научного тыка ^_-
Вам всем спс Ваши примеры когда нить пригодятся Проблема была в том что я немогу паравильно сформулировать вопрос всё было просто case TreeView1.Selected.AbsoluteIndex of 0: begin end; 1: begin end; end; т.е. у каждого коталога и подкаталога есть свой индекс операясь на это я могу спокойно присвоить переменной значение, которое пойдёт в запрос в базу) |
13.12.2011, 13:30 | #6 |
Пользователь
Регистрация: 22.08.2008
Сообщений: 39
|
Также можете использовать переменные листьев дерева ImageIndex, StateIndex, SelectedIndex : integer. Это всё для картинок, только мало кто это всё использует, чаще всего только ImageIndex. Туда можно во время проектирования (в едиторе дерева) либо во время заполнения дерева в "рунтайме" записать что надо. А дальше id := TreeView1.Selected.StateIndex;
Чего бы тут сделать, дабы ничего неделать?
Последний раз редактировалось flexterful; 13.12.2011 в 13:36. |
15.12.2011, 17:55 | #7 | |
Форумчанин
Регистрация: 05.06.2010
Сообщений: 154
|
Цитата:
|
|
17.12.2011, 04:58 | #8 |
Пользователь
Регистрация: 24.07.2009
Сообщений: 35
|
не эт просто я написал в общем...
так умя подругому мне интересно было сами индексы treeview потом у мя идейт запрос в базу по этому индексу что в treeview и когда вэтот индекс есть в базе то выводится страничка короч вот код: // Функция поиска и вывода function zapros(id:Integer; BD:string):string; begin Form1.ADOQuery1.Close; Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.SQL.Add('SELECT Hom FROM books WHERE (id = '+inttostr(id)+')'); Form1.ADOQuery1.Open; zapros:=Form1.ADOQuery1.Fields[0].AsString; end; а эт вызов procedure TForm1.TreeView1Click(Sender: TObject); begin if index=0 then WebBrowser1.Navigate(WideString(Get CurrentDir())+zapros(TreeView1.Sele cted.AbsoluteIndex+1,'books')) else WebBrowser1.Navigate(WideString(Get CurrentDir())+zapros(TreeView1.Sele cted.AbsoluteIndex+1,'test')); end; крабо код но пайдёт, только начал изучать ^_- |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Treeview и бд | sisofcase | БД в Delphi | 8 | 03.04.2012 17:32 |
TreeView | Progsenya | C# (си шарп) | 0 | 28.05.2011 22:19 |
TreeView | HOOCH94 | Компоненты Delphi | 3 | 12.04.2011 18:25 |
TreeView | DB_User | БД в Delphi | 1 | 23.02.2010 19:09 |