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

Вниз

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

 
VitGun ©   (2003-05-22 21:07) [0]

Мастера. Хелп. Есть ли в природе такой компонент, который бы осуществлял связь DBGrid и TTree, как в 1С. Т.е. У меня есть группы товаров. В дереве я выбираю соответствующую группу, а в таблице все товары этой группы отображались...Если кто знает киньте ссылку...


 
Тих   (2003-05-22 23:04) [1]

В Data узла дерева помещай какой-нить идентификатор, при нажатии на оный получай его обратно, динамически формируй SQL и шли на сервер.
Или Virtual TreeView на гугле поищи, но к датасету привязывать его придется самому, в смысле - заполнять его придется вручную
+ от 1 до 3 дней на уяснение его функционала,
довольно-таки навороченный (зато красивый и функциональный :-)контрол.


 
Fuelfire   (2003-05-23 06:28) [2]

Делаешь следующее:
Бросаешь в DataModule Query, формируешь SQL-запрос:
SELECT Goodies.ID, Goodies.Name FROM "Goodies.DB" Goodies
WHERE (Name LIKE :Name_param) ORDER BY Goodies.Name

Name_param задаешь как ftString и ptInput. А далее пишешь обработчик TreeView1Click:
DataModule.Query.Close;
If not DataModule.Query.Prepared then DataModule.Query.Prepare;
If TreeView.Items[0].Selected = true then
begin
par:="%"
end else
par:=String(TreeView1.Selected.Text) + "%";
DataModule.Query.ParamByName("Name_param").AsString := par;
DataModule.Query.Open;

В общем в этом примере по клику на node дерева по запросу выбираются все значения, содержащие название node...Просто не знаю твою реализацию, но алгоритм приблизительно такой.
P.S. Код - на скорую руку, на машине не проверен...Надеюсь не много ошибок.


 
Nikolay M. ©   (2003-05-23 09:43) [3]


> Fuelfire (23.05.03 06:28)


Если использовать DBTreeView для групп товаров, то это все можно сделать и автоматически. Допустим группы товаров выбираются qGroup->dsGroup, а собственно товары: qProduct->dsProduct (т.е. Query и соответствующий ему DataSource). Если товары выбирать запросом вроде
SELECT * FROM product WHERE id_group = :id_group
а группы выбираются как
SELECT id_group, name FROM group
тогда по выбору категории выбор товаров из этой категории будет производиться автоматически. Только еще qProduct.DataSource нужно сделать равным dsGroup.



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

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-26661
inc-viz
2003-05-24 11:32
2003.06.09
Где брать дистрибутив bde и ADO для программы


7-26805
alfim
2003-03-05 21:52
2003.06.09
GINA. Блокирование ctrl+alt+del в WinXP, Win2k


14-26757
VitGun
2003-05-22 21:07
2003.06.09
DBGrid + Tree


4-26851
Valek
2003-04-10 05:39
2003.06.09
Дерево с чекбоксами


1-26502
bloodman
2003-05-29 19:10
2003.06.09
регистрация горячих сочетаний клавиш.