FoxPro Club Главная

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

Удобный поиск в GRID. Встаете на нужное поле, набираете ключевую фразу и по мере набора курсор переходит на нужную запись.


 
Прислал: Русификация Leon Tauscheff   Категория: Интерфейс


Инкрементный поиск в GRID

Установив этот класс в свой Грид, вы сможете без проблем сделать поиск по Гриду. Устанавливается просто. Добавьте класс в проект. Создайте форму, поставьте на нее Грид. Теперь с помощью Билдера или сами укажите поля, которые будут в гриде. Нажимаем правой кнопкой мыши на Грид, затем Edit, выбираем в панели инструментов класс ingrid и кидаем его на нужное поле в гриде (тут главно не кинуть на header, нужно на текстовое поле). Ищем в свойствах колонки (column) CurrentControl и меняем его с text на ingrid. Все. В архиве есть пример работы с классом.

Скачать класс


 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.904) Вложение [9.04]kb
Дополнения пользователей
Инкрементный поиск в GRID
[+][?]
Рус
02.03.01 17:40:27

Не могу понять как работать с этим классом. Делаю все по инструкции, но когда дохожу до места, где
нужно кунуть на нужное поле в GRID'е у меня ФОКС говорит, что мол Cannot add this object to a Grid.
А прилагаемый примерчик к этому классу у меня работает как негр.
Yuri Abramenkov
04.03.01 05:32:03

Сообщение об ошибке появляется если  тянуть ingrid прямо из проекта. Если попробуй подключи эту
библиотеку к элементам управления. Или же помести сначала на форму. Скопируй, перейди в гридовую
колонку и вставь. Так работает
Рус Re:
Да, действительно я тянул прямо из проекта. Но я также пытался копировать сначала на форму, а потом в гридовый техт. Но вставлять не получалось в гридовский TextBox, т.к. команды вставки были не доступны. Но в колонку гридовскую этот класс встает. Но в этом случае остается прежний TextBox, и в итоге два текста. А как подключить библиотеку к элементам управления?
Yuri Abramenkov Re:
Класс к элементам управления добавляется через меню Tools-Options закладка Controls А там- Пометить Visual Class... И дави на кнопку Add Либо прямо через саму панель инструментов (кнопка View Classes) Ingrid добавляется не в Texbox а в Column А после помещения Ingrid в нужную колонку, контрола действительно будет два. Прежний textbox можно удалить в режиме редактирования грида. Переходишь на textbox и Del Либо в пропертях гридовской колонки укажи CurrentControl требуемый, то есть Ingrid1

14.05.01 04:05:35


Алексей Re:
Действительно, после того, как Yuri Abramenkov пояснил вторично - у меня всё получилось. Вот только после того как я нажимаю какую-либо кнопку в Grid'e у меня появляется сообщение: "Таблица не имеет установленного порядка индексации". Может Ingrid'у нужно задавать особую какую-то индексацию?
Alex
22.05.01 06:14:50

Для каждого поля должен быть создан индекс. Затем в Properties Ingrid открываем закладку Other
 и меняем:
  cOrdertag = [Имя тэга]
  cSeekTag  = [Имя тэга]
 
Nadya Nosonovsky Re:
Cetin Basoz from UniversalThread показал мне сегодня очень простой метод создания грид в design-time:
********************************************************************
*  Description.......: GridBuilder - allows to build a grid in design-time
*  Calling Samples...:
*  Parameter List....:
*  Created by........: Cetin Basoz
*  Modified by.......:
********************************************************************
*custom builder not registered
aselobj(arrObj)
for each oObj in arrObj
     if upper(oObj.baseclass)='GRID'
          for each oColumn
in oObj.columns
              if type('oColumn.text1')="O"
                   oColumn.removeobject('text1')
               endif    
               oColumn.newobject('text1','ingrid','wgcontrols.vcx')
          next
     endif
next
Сергей Прохоров
28.09.01 15:19:39

Я немного подкорректировал класс:
- убрал контроль длительности (по времени) набирания символов; строку поиска стираю только при
изменении указателя клавишами-стрелками
- и меняю цвета Header, чтобы отличалось от по умолчанию и бросалось в глаза.
Считаю так более удобнее, так быстро мало кто умеет набирать.
А вообщем простой и удобный класс для быстрого поиска в таблице. 
Наташа
14.01.02 07:50:21

Примерчик замечательный, спасибо.
Вопрос к Сергею Прохорову. Можно поподробнее о ваших корректировках, где,как ...
 
Андрей
24.09.04 10:10:11

Чудненько, только при поиске длинных "слов", особенно когда переносишь цифры с листочка. Я вот
заменил строку и удленил время ожидания, вполне возможно надо было в другом месте, но не
сталглубоко вникать... извините уж :-(
      ingrid.KeyPress
      ...
      ...
	THIS.nLastPress=SECONDS() + 2
Андрей
27.09.04 11:23:31

Еще вопросик - я добавляю класс каждому столбцу, в отладчике вижу это, но при клике и дальнейшем
наборе нет никакой реакции. Как сделать, чтобы при программном добавлении все работало ?

[Дополнить]



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