Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Вниз

TreeView и DBGrid   Найти похожие ветки 

 
nN_   (2002-10-18 10:14) [0]

Помогите, пожалуйста!
Никогда не работал с TreeView, а тут нужно до зарезу.
Итак, есть 3 запроса:
1. Query1 – группа товара
2. Query2 - подгруппа товара
3. Query3 – сам товар.
Заполняю TreeView группами и подгруппами,
А вот товар хочу отображать в DBGride.
Вопрос, как увязать Query1,Query2 через TreeView c
Query3, отображаемом в DBGrid.
Вот текст, кто поможет вставить нужное?
Благодарен всем, кто откликнется!!!

procedure Tfm_trpice.FormCreate(Sender: TObject);
begin
Query1.First;
while not Query1.Eof do
begin
MyNode:=TreeView1.Items.Add(NIL,Query1.FieldByName ("NGroup").Value);
Query2.Close;
Query2.ParamByName("NGroup").AsString:=Query1.FieldByName("NGroup").Value;
Query2.Open;
Query2.First;
while not Query2.Eof do
begin
TreeView1.Items.AddChild(MyNode,Query2.FieldByName("NSbGroup").Value);
Query2.Next;
end;
Query1.Next;
end;
end;


 
Наталия   (2002-10-18 10:19) [1]

На Королевстве есть хорошая статья по этому вопросу.


 
Наталия   (2002-10-18 10:23) [2]

http://delphi.mastak.ru/cgi-bin/links.pl?get=40


 
nN_   (2002-10-18 11:05) [3]

Искать просто некогда,
может потом и посещу, но сейчас
нужен готовый код.
Пожалуйста, помогите без советов!
Спасибо!


 
ЮЮ   (2002-10-18 11:21) [4]

procedure Tfm_trpiceTreeView1Change(Sender: TObject; Node: TTreeNode);
// обработчик TreeView1.onChange
Query3.Close;
if Node.Level = 2 then begin
Query3.Params[0].Value := Integer(Node.Parent.Data);
Query3.Params[1].Value := Integer(Node.Data);
Query3.Open
end;
end;

Соответсвенно,
MyNode:=TreeView1.Items.Add Object(NIL,Query1.FieldByName ("NGroup").Value ,Pointer(Query1.FieldByName (<ключевое поле>).asInteger));

Аналогично для Child-ов


 
ЮЮ   (2002-10-18 11:37) [5]

Не обратил внимание, что название группы товара (текстовое) и является ключом в таблице подгруппы. Если также дела обстоят и в таблице Товаров :-), то ещё проще. Твой код остаётся прежним.

procedure Tfm_trpiceTreeView1Change(Sender: TObject; Node: TTreeNode);
// обработчик TreeView1.onChange
Query3.Close;
if Node.Level = 2 then begin
Query3.Params[0].Value := Integer(Node.Parent.Text);
Query3.Open;
end;
end;


 
nN_   (2002-10-18 16:36) [6]

Огромное спасибо ЮЮ!!!


 
nN_   (2002-10-18 17:19) [7]

Попробовал, но не получается. Что это может
быть?


 
nN_   (2002-10-18 21:51) [8]

Еще были попытки - никак.
Возможно, в тексте запроса
нужно указать еще что-то, кроме:

SELECT Tovar,NSbGroup(ключ строкового типа) FROM "tovar.db"
WHERE NSbGroup=:NSbGroup

Пожалуйста!


 
ЮЮ   (2002-10-21 03:15) [9]

Тогда попробуй
if Node.Level = 1 then begin
И , вообще, трудно F5 нажать и посмотреть, что делается в конкретной строке кода, почему не получается, отчего не работает ?????



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-21813
Beginner-Designer
2002-10-20 16:52
2002.11.07
Сайты по С++ Builder


3-21365
Карелин Артем
2002-10-17 12:34
2002.11.07
Пишу картинку в Blob, записываю из базы на диск, жму ctrl-f2 в D.


3-21456
sdram
2002-10-21 14:22
2002.11.07
Удаляющий запрос


8-21691
Porolonchick
2002-07-14 08:13
2002.11.07
Как радио послушать или телевизор посмотреть?


6-21701
501Room
2002-09-08 19:01
2002.11.07
Как построить график исходящего и входящего трафика через модем





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский