|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.02.2008, 15:23 | #1 |
Форумчанин
Регистрация: 03.05.2007
Сообщений: 247
|
фильтр в DBGrid
в DBGrid необходимо реализовать возможности Access.:
1. Где стоит курсор, при нажатии фильтр, фильтруются записи по этому значению. 2. Над какой колонкой был произведен вызов всплывающего меню при вводе значение в контестном меню (Edit должен быть в контестном меню) фильтруется по этому значению, т.е если над колонкой ФИО то фильтруется по фамилии, или если над колонкой Дата, то по значению дата. |
01.02.2008, 15:27 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Фильтр применяется не к DBGrid, а к DataSet, чьи данные он отображает.
Смотрите это свойство - FILTER у DataSet (что у вас там - Table или Query)... |
02.02.2008, 14:26 | #3 |
Форумчанин
Регистрация: 03.05.2007
Сообщений: 247
|
|
02.02.2008, 14:39 | #4 |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
читаешь значение поле где стоит курсор и делаешь фильт по этому полю (значению)...
если кверик, то запросом через order by... |
05.02.2008, 18:21 | #5 | |
Форумчанин
Регистрация: 03.05.2007
Сообщений: 247
|
Цитата:
Над полем нажимаешь правую кнопку мыши, всплывает контестное меню. В этом меню есть строка ввода, набираешь значение и фильтруется в по этому значению. Вопрос в том как это эффект делается? |
|
05.02.2008, 22:03 | #6 |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
у меня допусим даже не установлен акцесс...
но по твоим описанием понял что открывается не то дополнительное поле (Еdit) в котором вводятся значения и по этому значению моментально производится поиск... если же так, то делай простую выборку на OnChange того же едита... |
07.02.2008, 12:18 | #7 |
Форумчанин
Регистрация: 03.05.2007
Сообщений: 247
|
а как вообще это поле во всплывающем меню появляется?
|
08.02.2008, 09:22 | #8 |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
посмотри "девок" там вроде есть такие компоненты...
или можешь ручка поэксперементировать |
08.02.2008, 11:22 | #9 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
//В свойстве Caption элемента меню, просто напиши "фильтр по выбранному".
procedure TForm1.N1Click(Sender: TObject); var FieldName: string; begin FieldName := ExDDBGrid1.SelectedField.FieldName; ExDDBGrid1.DataSource.DataSet.Filte r := FieldName + '=''' + ExDDBGrid1.SelectedField.AsString + ''''; ExDDBGrid1.DataSource.DataSet.Filte red := True; end; Или Для примера нужен TEdit на форме. При изменении значения в Edit1 будет обновляться фильтр для DataSet. Этот примр работат только для текстовых полей. procedure TForm1.Edit1Change(Sender: TObject); begin Query1.Filter := ExDDBGrid1.SelectedField.FieldName + '=''' + Edit1.Text + '*'''; Query1.Filtered := True; end; Последний раз редактировалось Rik; 08.02.2008 в 11:32. Причина: Дополнение |
09.02.2008, 03:08 | #10 | |
Форумчанин
Регистрация: 03.05.2007
Сообщений: 247
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос или Фильтр | wolfik0 | БД в Delphi | 3 | 02.05.2008 04:42 |
Фильтр | Инночка | Помощь студентам | 4 | 30.04.2008 20:27 |
Фильтр в базе | Versifikator | БД в Delphi | 3 | 18.04.2008 10:35 |
фильтр в dbgrid | ГОСЕАН | БД в Delphi | 2 | 24.12.2007 15:14 |
Фильтр и поиск | emfw | БД в Delphi | 1 | 11.03.2007 11:01 |