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