Форум: "Базы";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Внизсобытия открытия и закрытия списка поля в DBGrid-e Найти похожие ветки
← →
Karburator (2008-03-17 09:33) [0]Здравствуйте, такая вот проблема, нужно в DBGrid-e, в Lookup-поле отображать все записи из связанной таблицы, а при добавлении\редактировании этого поля этой таблицы только те, по которым будет выполнено какое-то условие.
Проще всего, как мне показалось, сделать это можно путем фильтрования связанной таблицы в момент выпадения списка для редактирования Lookup-поля и отмены фильтрования в момент закрытия.
Подскажите пожалуйста как мне выловить события открытия и закрытия списка поля в DBGrid-e?
ЗЫ: в компоненте TColumn DBGrid-a, в инспекторе объектов вообще нет никаких событий, а вот в компоненте TDBGridColumnEh TDBGridEh-a есть события, но тем не менее не могу выловить с их помощью моменты открытия\закрытия списка. Буду рад помощи по любому из компонентов.
← →
ЮЮ © (2008-03-17 10:21) [1]В стандартном всё сделано настолько "добротно", что программисту поведением выпадающего списка не дано управлять.
А твоя задача решается, похоже, с помощью LookupCache. т.е сначала в кэш загружается LookupDataSet полностью, благодаря чему в гриде смогут оьображаться все значения, а затем LookupDataSet можно, например, фильтровать, уменьшая тем самым выпадающий список.
З.Ы. Могу и ошибаться, т.к. TDBGrid давно не использую, а в соих классах различаю эти два эти понятия: "список подстановки" и "выпадающий список".
>а вот в компоненте TDBGridColumnEh TDBGridEh-a есть события
Смотри исходники, анализируй ...
← →
Johnmen © (2008-03-17 13:26) [2]фильтрования связанной таблицы в момент события OnColEnter.
← →
Karburator (2008-03-20 05:05) [3]а слона-то я и не приметил - вот что мне нужно было:
DBGridEh1.Columns[0].DropDownBox.ListSource: TDataSource
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.053 c