Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
6-1075643670
stimm
2004-02-01 16:54
2004.04.11
Пишу программу Анти-Интернет для братишки :)


9-1065175641
alx1979
2003-10-03 14:07
2004.04.11
Алгоритм хождения шашки в игре монополия


14-1079284359
YurikGl
2004-03-14 20:12
2004.04.11
Проблемы с Zip


14-1081686789
Thor
2004-04-11 16:33
2004.04.11
самоубийство.


1-1080278656
Urri
2004-03-26 08:24
2004.04.11
Заголовки колонок в Quantum Grid