Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.042 c
8-1072046646
ZZZzzzz
2003-12-22 01:44
2004.04.11
Компоненты для работы с графикой


14-1081863939
miwa
2004-04-13 17:45
2004.04.11
О встречах мастаков вообще...


1-1080117606
LinOS
2004-03-24 11:40
2004.04.11
Закрытия окна при клике вне его пределов


1-1082824349
Namo
2004-04-24 20:32
2004.04.11
как использовать UNICODE


11-1059679855
Dimaxx
2003-07-31 23:30
2004.04.11
Владимиру Кладову...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский