Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтр по первых 3 цыфрах 6-значного числа, Нужно осуществить фильтрацию 
:(
    Опции темы
Killer_13
  Дата 13.2.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Есть код имеющий такой формат "003.22.1"
Мне нужно фильтровать записи по первым введеным цифрам в Edit.

Например Нужно найти все товары которые начинаются с "003".
Я ввожу в Edit "003" и мне автоматически отображаются записи 

"003.22.2"
"003.23.3"
"003.25.7"
"003.27.2"
"003.20.1"

Использую компоненты Табле и Грид.
Поле в которое заносится код - будет текстовое.

Как такое осуществить?
PM MAIL   Вверх
Fazil6
Дата 13.2.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата

select * from table_name where ( field_name like "003%")

PM MAIL   Вверх
Killer_13
Дата 13.2.2008, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Я же написал, что использую табле. Квери не использую.

PM MAIL   Вверх
Fazil6
Дата 13.2.2008, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(Killer_13 @  13.2.2008,  20:48 Найти цитируемый пост)
Я же написал, что использую табле. Квери не использую.

ну и что?
разве не понятно что нужно написать в фильтр TTable ?
PM MAIL   Вверх
volvo877
Дата 13.2.2008, 21:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Цитата(Killer_13 @  13.2.2008,  20:48 Найти цитируемый пост)
Я же написал, что использую табле.
Какую именно? Для ADO будет так:
Код
mytbl->Filtered = true;
mytbl->Filter = "имя_поля LIKE \'" + Edit1->Text + "*\'";

PM MAIL   Вверх
Killer_13
Дата 13.2.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Нет - использую обычную TTable не ADO
PM MAIL   Вверх
volvo877
Дата 13.2.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Значит, в OnFilterRecord своей TTable делай что-нибудь вроде:
Код

Accept = (DataSet->FieldByName("имя_поля")->AsString.Pos(Edit1->Text) == 1);


Это сообщение отредактировал(а) volvo877 - 13.2.2008, 22:31
PM MAIL   Вверх
Killer_13
Дата 13.2.2008, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Оно же ищет как по обычному Locate прикрепленому к Едит, - а мне нужно чтоб фильтровало записи. :(
PM MAIL   Вверх
volvo877
Дата 13.2.2008, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Оно в каком событии, ты не заметил? OnFilterRecord... Устанавливаешь
Код
table.Filtered = false;
table.Filtered = true;
при каждом изменении Edit-а и таблица отфильтрует то, что нужно...
PM MAIL   Вверх
Killer_13
Дата 14.2.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



:( - все равно не разобрался, - не работает... 
Эти все строчки нужно писать в ОнФильтрРекорд?
PM MAIL   Вверх
volvo877
Дата 14.2.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Цитата(Killer_13 @  14.2.2008,  20:33 Найти цитируемый пост)
все равно не разобрался, - не работает... 

То, что ты не разобрался - не значит, что оно не работает! Разбирайся...

Цитата(Killer_13 @  14.2.2008,  20:33 Найти цитируемый пост)
Эти все строчки нужно писать в ОнФильтрРекорд? 

Эти две строчки надо писать на OnChange Эдита, ясно же написано: 
Цитата(volvo877 @  13.2.2008,  22:08 Найти цитируемый пост)
при каждом изменении Edit-а

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.