Главная страница
    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.01 c
1-21562
leonddd1
2002-10-25 23:46
2002.11.07
Программа на нескольких языках!


3-21391
alexsl
2002-10-17 13:55
2002.11.07
Проблема подключения запароленной БД Access


1-21535
Maksim_
2002-10-29 13:12
2002.11.07
Kak ne nazimaja Mainmenu pokazatj ego soderzimoe?


1-21580
Help_with_delphi
2002-10-30 07:52
2002.11.07
вот как мне длл ку в дельфях правильно прикрутить ?


1-21521
soware
2002-10-29 10:19
2002.11.07
QuickReport





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