Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.07.2010, 03:42
andrey.v.z andrey.v.z вне форума
Прохожий
 
Регистрация: 27.04.2010
Сообщения: 22
Репутация: 10
Вопрос DBGrid c фильтром в заголовке столбца?

Как встроить ComboBox в заголовок столбца DBGrid, чтобы по его значениям фильтровать таблицу? Либо подскажите другой элемент диалога, который бы мог разместиться в заголовке столбца и позволял выбрать значения фильтра?
Пока я просто разместил ComboBox поверх заголовка столбца, что может худо бедно устроило бы, если бы не возможность менять ширину столбца и тогда "обман" сразу вскрывается Можно ли для конкретного столбца запретить менять ширину? В свойствах поля DBGrid стоит Expanded=Flase, но никак не влияет.
Ответить с цитированием
  #2  
Старый 08.07.2010, 07:36
Vocabulary Vocabulary вне форума
Новичок
 
Регистрация: 17.09.2009
Сообщения: 85
Репутация: 9
По умолчанию

Вариант.
Комбобокс в исходном состоянии не должен быть виден (Visible = False).
В событии OnTitleClick гриды отслеживается на заголовок какой колонки был клик. Если на той, которой надо, то отображать комбобокс (Visible = True) с такой шириной, какая на этот момент у колонки и одновременно раскрывать список комбобокса.
В событии OnCloseUp комбобокса прятать его опять.

Вариант.
DBGridEh более продвинутая штуковина, где можно поискать нужное поведение с применением встроенного DropDownBox.
Ответить с цитированием
  #3  
Старый 10.07.2010, 01:14
andrey.v.z andrey.v.z вне форума
Прохожий
 
Регистрация: 27.04.2010
Сообщения: 22
Репутация: 10
По умолчанию

Первый вариант сделал. Еще добавил, чтобы комбобокс показывался уже открытым (DroppedDown:=true), тогда при клике мимо него он сворачивается и прячется. Иначе он мог оставаться визибл.
Единственное неудобство, пользователь не видит в заголовке поля прячущийся комбобокс. Хорошо бы его не прятать, но тогда надо его скрывать если колонка скроллингом уезжает за границы грида...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:42.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025