|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Взаимодействие двух DBGrid
Доброго времени суток. В общем есть 1 дбгрид который рисует табличку по запросу и надо чтобы когда в нем выделяешь строку какую-нибудь во втором дбгриде отображалась информация из другой таблицы которая соответствует этой строке... в общем как отследить выделенную строку?.. помогите разобраться пожалуйста, направьте на путь истинный...
|
#2
|
||||
|
||||
свойство Filter из второго DataSet поставь так
DataSet.Filter:='поле из первой таблицы = соответствующее поле из второй'; DataSet.Filtered:=True; DataSet это твой Query, Table, ClientDataSet или ещё что-то и всё это вставь в OnAfterScroll первого DataSet'а например если у есть поле Category в первой и во второй таблице по которому ты хочешь установить соответствие то Код:
procedure TfmMain.DataSet1AfterScroll(DataSet: TDataSet); begin DataSet2.Filter:='Category='+DataSet1['Category']; DataSet2.Filtered:=True; end; если у тебя поле по которому нужно отсеивать текстовое то в кавычки его Код сырец Последний раз редактировалось Lost_Fish, 19.10.2012 в 07:52. |
#3
|
||||
|
||||
Цитата:
UPD Если во втором DBGrid'е отображается Query (или ADOQuery), то можно также реализовать привязку через изменение запроса или параметра запроса. Последний раз редактировалось poli-smen, 19.10.2012 в 10:03. |
#4
|
|||
|
|||
Если
Если все делается средством SQL то никаких проблем не вижу и смогу помочь, хоть иглу из стога вам показать в 1000 гирдах..И причем динамика полная, все кодом поргаммы.
Иначе вяжите как вам указано выше... А вообще такие действия в гирде делать не рекомендую,лучше выводить инфу не в гирд. Последний раз редактировалось Heneken, 19.10.2012 в 13:01. |
#5
|
|||
|
|||
Попробовал фильтр и че то ниче не получилось... 0 эмоций.. если че то неправильно то выдает ошибку при выделении если все правильно то просто никакой реакции... пробовал просто из одной таблицы выводить по 1 полю в каждый грид чтобы например выделяешь Артикл в первом гриде и во втором отображалось имя...
Я делаю все через IBQuery если че. И кстати почему выводить не в грид ??? разве есть что то другое подобное ? |
#6
|
||||
|
||||
Через locate.
adoquery.locate (если конечно через адо цепляешься) |
#7
|
||||
|
||||
Цитата:
|
#8
|
|||
|
|||
покопался тут и по ходу с фильтром в IB не у одного меня проблемы были... говорят использовать OnFilterRecord... кто нибудь делал через него ???
|
#9
|
||||
|
||||
Цитата:
|