Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поиск по компоненту DBGrid

21K
21 ноября 2006 года
BAby Boy
1 / / 21.11.2006
Народ подскажите плиз как осуществить поиск (например текста) по компоненту DBGrid !!!! за ранее спасибки!!!
263
21 ноября 2006 года
koltaviy
816 / / 16.12.2004
 
Код:
string Str;
TLocateOptions Options;
Str = "SearchString";
Options << loPartialKey;
Query->Locate("NameOfField", Str, Options);

Где Query(TQuery/TADOQuery/TTable/TADOTable) - DataSet, подключенный к DBGrid'у через TDataSource!..
309
22 ноября 2006 года
el scorpio
1.1K / / 19.09.2006
Для поиска значения в самом DBGrid, нужно работать с ним, как с StringGrid'ом

 
Код:
// Для поиска по указанному полю БД (столбцу) номера записи
// в поле с номером FieldNo строкового значения Ansi_String_Value
TStrings *Column = DBGrid->Cols [FieldNo];
int RecNo = Column->IndexOf (Ansi_String_Value);

Будет найдено первое значение. Прочие значения таким способом найти не удасться :(
263
22 ноября 2006 года
koltaviy
816 / / 16.12.2004
Не понимаю чем мой вариант не устраивает?:( Зачем изобретать велосипед? В DBGrid'е все равно хранятся данные из БД.. С Locate я конечно погорячился - надо Lookup использовать:
 
Код:
Variant Result;
Result = Query1->Lookup("SearchField", "SearchString", "ResultField(s)");

Также будет найдено только первое значение!..
309
23 ноября 2006 года
el scorpio
1.1K / / 19.09.2006
Koltaviy
А потому что ответ некорректный: требуется найти результат в компоненте отображения данных, а не в компоненте доступа. :D
Тем более, что содержимое DBGrid может отличаться от "набора данных".
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог