![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Table to TreeView [D5, Win95/98]
AGN © (2004-03-12 13:30:00)Добрый день.
Никак не могу осилить простую задачку:
есть таблица, состоящая из двух полей, к примеру:
|Country | City |
--------------------
|Россия |Москва |
|Беларусь |Минск |
|Россия |Питер |
|Россия |Саратов |
|Беларусь |Гродно |
...
...
Как загнать этот список в TreeView, что бы это выглядело примерно так:
+Россия
- Москва
- Питер
- Саратов
+Беларусь
- Минск
- Гродно
Посоветуйте что-нить (если можно код поподробней), а то голова пухнет.
Благодарю.
Amoeba (2004-03-16 18:23:00) [1]
> А конкретные ссылочки на такие бесплатные компоненты можно?
1. TDBTreeView из JVCL или RALib
2. TrDBTreeView из Polaris Library http://polesoft.narod.ru/
3. Такой компонет есть и в VGLib http://www.vglib.com/
Erik (2004-03-16 17:37:00) [2]Все очень грустно.
Country := FieldByName('Country').AsString;
Item := AddChield(nil, Country);
where Country = FieldByName('Country').AsString do
begin
Item.AddChield(Node, FieldByName('City').AsString);
next;
end;
serge35 (2004-03-16 17:05:00) [3]В таблицу надо ввести еще 2 числовых поля ID и PID
В первом будет храниться код кождой записи, в PID ссылка
на родительскую запись.
Потом берешь компоненту, потомок от TreeView и устанавливаешь
там все поля. Компонента сама построит дерево.
Но если добавить поля нельзя, и если дерево будет иметь только
один уровень вложенности, то можно построить дерево 2 запросами.
Первый запрос достает страны (без повторения), по нему запускается цикл. В цикле сначала добавляется имя страны в дерево, затем открывается второй запрос, которому в качестве параметра передается название страны. Затем запускается цикл по второму запросу и названия городов добавляются в дерево.
Вот такая петрушка.
DmitryNekl (2004-03-16 16:53:00) [4]2 Amoeba
А конкретные ссылочки на такие бесплатные компоненты можно?
AGN (2004-03-16 15:45:00) [5]paradox
Соловьев (2004-03-16 15:14:00) [6]Еще многое зависит от конкретной СУБД... Какая используется?
Amoeba (2004-03-16 15:06:00) [7]Вообще-то для отображения в виде дерева структура таблицы должна быть иной. Подробности в http://delphi.vitpc.com/asp/viewitem.asp?UrlItem=/helloworld/dbtreeview.htm
Между прочим, есть целый ряд бесплатных компонетов - потомков TreeView - непосредственно работающих с такими таблицами (естественно, имеющими правильную структуру)
TUser (2004-03-16 11:07:00) [8]
> вариантов больше нет???
Есть - 20$
Mitrofan (2004-03-16 09:57:00) [9]Пишешь запрос
Select * From Table1
Order By Country, City
Затем идешь по набору данных и
строишь дерево. Что то типа этого
while not Query1.Eof do begin
...
Query1.Next
end;
HSolo (2004-03-16 09:26:00) [10]http://delphi.vitpc.com/asp/viewitem.asp?UrlItem=/helloworld/dbtreeview.htm
AGN (2004-03-16 09:06:00) [11]вариантов больше нет???
Vitaly (2004-03-12 16:53:00) [12]10$
AGN (2004-03-12 16:49:00) [13]Признаю - туповат я.
Можно всё-таки на моём примере........
Спасибо.
Alx2 (2004-03-12 13:34:00) [14]http://delphibase.endimus.com/?action=viewfunc&topic=filenames&id=10257