|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.01.2011, 15:50 | #1 |
Пользователь
Регистрация: 26.08.2010
Сообщений: 39
|
Набор текста для поиска через DbGrid
Подскажите пожалуйста как осуществить набор текста для запроса в DbGrid. Например я щелкнул на ячейку в сетке где уже отображаются записи и начинаю набирать текст, который передается в запрос типа: select * from table where field like "некоторый текст", и по мере набора символов в этом же DbGrid должен отображаться результат запроса. Понятно что это надо делать в KeyPress сетки, но как передать в запрос данные которые вводятся с клавиатуры при фокусе на ячейке DbGrid?
|
20.01.2011, 16:16 | #2 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
1. Запросы делаются не в DBGrid, а в БД.
2. Зачем печатать в самом Гриде? Вводи текст в edit и обрабатывай OnChange. Код:
|
20.01.2011, 20:05 | #3 |
Пользователь
Регистрация: 26.08.2010
Сообщений: 39
|
Я ведь не писал что буду посылать запросы в грид). Конечно для этого существует и используется соответствующий DataSet. С edit мне не подходит вариант, хотя обычно использую его. Вы разве не работали в приложениях, где данные фильтруются непосредственно из сетки? Допустим когда нужно выбрать пользователя в открытой дополнительной форме (таких форм может быть с десяток и более), edit(ы) будут только время отнимать. Гораздо быстрее перемещать фокус по сетке в зависимости от того какой нужен столбец для поиска и получать нд при наборе первых нескольких символов. Я просто не могу найти способ передачи набранных символов в запрос в то время как фокус находится на не редактируемой сетке. Если подскажете как это осуществить буду очень рад)).
|
20.01.2011, 20:32 | #4 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
а версия дельфи какая?
|
20.01.2011, 20:45 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
20.01.2011, 21:29 | #6 |
Пользователь
Регистрация: 26.08.2010
Сообщений: 39
|
|
20.01.2011, 21:30 | #7 |
Пользователь
Регистрация: 26.08.2010
Сообщений: 39
|
|
20.01.2011, 22:01 | #8 |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
Есть такой вариант:
ловим клик по сетке - определяем активный столбец определяем его размеры и позицию динамически создаем edit над первой строкой сетки прицепляем процедуру к этому edit'у на нажатие ентера (подтверждение ввода) на основе полученных данных (текст в едите) делаем запрос/заполняем параметры запроса я сделал по другому: над сеткой поставил панель со скроллом (т.к. при горизнтальном скроле сетки сбиваются координаты столбцов) там динамически генерились то ли едиты, то ли лукапбоксы для каждого поля и чекбоксы (для вкл/выкл фильтрации по данному полю) потом циклом обходились все элементы, проверялось что включено, какое значение задано, определялся тип поля ( подстановочное/вычисляемое/с данными) - генерился запрос
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
20.01.2011, 22:25 | #9 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
в DbgridEh всё фильтрация и поля дляфильтров, и сортировка по моему уже есть, просто почитайте хелп по компонентам Ehlib.
|
21.01.2011, 08:34 | #10 |
Пользователь
Регистрация: 26.08.2010
Сообщений: 39
|
Сортировка в DBGridEh по щелчку на заголовке столбца есть. Очень удобно что она быстро реализовывается и даже можно если не требуется особых вариантов сортировки запрос не писать. Про фильтрацию посмотрел в хелпе, она релизована как combobox под заголовком столбца, когда STFilter.Visible находится в True. Такой вариант подходит когда необходимо выбрать из предложенных критериев фильтрации но мне надо чтобы я мог искать в таблице.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм поиска текста Рабина на Delphi 7 выходит ошибка | Des | Общие вопросы Delphi | 14 | 15.05.2012 11:14 |
Интерфейс поиска и замены текста в richTextBox | delias | Общие вопросы .NET | 4 | 29.10.2010 18:36 |
Макрос поиска текста на листе | Movled | Microsoft Office Excel | 11 | 29.07.2010 11:59 |
Как сделать чтобы во время поиска по таблице не было видно перемещения по dbgrid? | alxsev | БД в Delphi | 4 | 10.04.2009 19:03 |
программа поиска и замены+копирования текста | 666dvg999 | Общие вопросы C/C++ | 4 | 05.10.2008 20:01 |