![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как встроить ComboBox в заголовок столбца DBGrid, чтобы по его значениям фильтровать таблицу? Либо подскажите другой элемент диалога, который бы мог разместиться в заголовке столбца и позволял выбрать значения фильтра?
Пока я просто разместил ComboBox поверх заголовка столбца, что может худо бедно устроило бы, если бы не возможность менять ширину столбца и тогда "обман" сразу вскрывается ![]() |
#2
|
|||
|
|||
![]() Вариант.
Комбобокс в исходном состоянии не должен быть виден (Visible = False). В событии OnTitleClick гриды отслеживается на заголовок какой колонки был клик. Если на той, которой надо, то отображать комбобокс (Visible = True) с такой шириной, какая на этот момент у колонки и одновременно раскрывать список комбобокса. В событии OnCloseUp комбобокса прятать его опять. Вариант. DBGridEh более продвинутая штуковина, где можно поискать нужное поведение с применением встроенного DropDownBox. |
#3
|
|||
|
|||
![]() Первый вариант сделал. Еще добавил, чтобы комбобокс показывался уже открытым (DroppedDown:=true), тогда при клике мимо него он сворачивается и прячется. Иначе он мог оставаться визибл.
Единственное неудобство, пользователь не видит в заголовке поля прячущийся комбобокс. Хорошо бы его не прятать, но тогда надо его скрывать если колонка скроллингом уезжает за границы грида... |