FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9210
Вход
Поиск в Grid

В новостях от 15.09.2000 прочитал о возможностях поиска в Grid и решил поэкспериментировать. Класс работает великолепно, но вот ищет только с начала строки. Да и выводить искомое значение в Header наверное не всегда удобно. На основании своих прежних наработок, данных почерпнутых из статей журнала FoxTalk (русское издание) и используя, информацию, полученную при анализе работы класса Ingrid, я подготовил класс, который возможно кому-то облегчит жизнь.


 
Прислал: Vadim Hairetdinov   Категория: Интерфейс


Поиск в Grid

В новостях от 15.09.2000 прочитал о возможностях поиска в Grid и решил поэкспериментировать. Класс работает великолепно, но вот ищет только с начала строки. Да и выводить искомое значение в Header наверное не всегда удобно. На основании своих прежних наработок, данных почерпнутых из статей журнала FoxTalk (русское издание) и используя, информацию, полученную при анализе работы класса Ingrid, я подготовил класс, который возможно кому-то облегчит жизнь.
Описание класса:
Класс содержит два объекта: текстовый: “Intext” и контейнер “Ins” и создан средствами VFP 5.0. Назначение производить поиск “Locate”в полях имеющих типы “Numeric”, “Character” и “Date” c возможностью уточнения и продолжения.
Для нормальной работы класса необходимо выполнить следующие действия.
1. На форме создайте Property ”St”.
2. Поместите контейнер “Ins” на форму имеющую объект “Grid”.(В случае, если “Grid” расположен на закладке “Page Frame”, поместите контейнер “Ins” на туже страницу, что и “Grid”). Высоту контейнера необходимо установить в ручную, ширину класс установит равной ширине колонки в “Grid”.
3. Удалите из колонок объекты “Text1”
4. Добавьте объект “Intext” в колонки “Grid”.
В случае, если Вы используете методы удаляемых текстовых объектов, скопируйте эти методы в методы объекта “Intext”.
При попытке ввода символов в активной ячейке “Grid”, класс форматирует контейнер “Ins” под активную колонку, делает его видимым и начинает поиск.Поиск по первому символу не производится. По нажатию комбинации “Ctrl+Enter”, класс выполняет “CONTINUE” на последнее введенное значение поиска. Работа класса была проверена на Pentium100/32mb справочник, скопированный в курсор, содержал 5500 записей. Нареканий у пользователей не было.
С уважением Vadim Hairetdinov.


Скачать search.zip
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.963) Вложение [7.49]kb
Дополнения пользователей
Поиск в Grid
[+][?]
Дергилев
04.09.01 14:44:48

Vadim Hairetdinov. Очень полезная прога.
Спасибо. 
Юрий
04.05.02 21:23:47

Класс, действительно очень полезный.
Только в классе search.vcx я сделал недоступным объект txt.
Иначе, если попадешь мышкой в это "окошечко" и будешь выходить - возникает ошибочка. Ее можно
обойти, но проще сделать объект вообще недоступным.
Спасибо, давно искал что-нибудь подобное.
С уважением, Юрий.
 

Yuri2
13.09.06 08:14:18

Спасибо за простой и удобное решение.
Возникали ошибки- поставил там (TRY - catch - endtry) - работает отлично.
Также добавил обнуление поиска, если объектом не пользуются более 5 секунд.
Sribna
06.07.07 18:53:41

Спасибо - пригодилось :)

Только, если используются вкладки, то необходимо исправить:

x_z=[This.Parent.Parent.]+this.parent.grd+[.refresh]
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика