Главная страница
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.5 MB
Время: 0.029 c
8-1075933617
DjTheme
2004-02-05 01:26
2004.04.11
Как проиграть МП3 или что то другое на двух звуковухах


14-1079174367
Undert
2004-03-13 13:39
2004.04.11
Вопрос не в тему


3-1081851727
CyBeR
2004-04-13 14:22
2004.04.11
Как вставить результат запроса Query в таблицу???.


3-1079439158
incm
2004-03-16 15:12
2004.04.11
Параллельное использование баз Paradox через BDE


4-1079956507
Yourik
2004-03-22 14:55
2004.04.11
Криптография, CryptGenKey(), CryptEncrypt()... etc