FoxPro Club Главная

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

Вот решил пополнить ряды классов для инкрементного поиска. Что можно сказать, смотрите, понравится, пользуйтес нет, тем более ;-) Для использования в колонке подменить Text1 на IncText. BackSpace - затереть 1 символ Ctrl+Enter - искать тоже-самое ниже.


 
Прислал: Жихарев Дмитрий   Категория: Интерфейс

Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.914) Вложение [16.73]kb
Дополнения пользователей
Инкрементный поиск в таблице (locate)
[+][?]
Дмитрий
21.09.01 16:50:55

Приношу свои извинения. Сегодня у меня один юзер откопал баг, который проявляется в следующем: при
перетаскивании колонок, окошко с выводимым текстом появляется не там где нужно. Раньше не заметил,
т.к. обычно не оставляю пользователю возможность жонглировать колонками, а вот ведь...
Если кого это безобразие не устроило, пожалуйста в методе InitSearch подмените строчки 
  * Сканируем видимые колонки и учитываем их ширину
  For Each loI In This.Parent.Parent.Columns
    If Between(loI.ColumnOrder, ;
This.Parent.Parent.Columns(This.Parent.Parent.LeftColumn).ColumnOrder, ;
        This.Parent.ColumnOrder-1)
      .Left=.Left+loI.Width+1
    Endif
  Endfor

на

  * Сканируем видимые колонки и учитываем их ширину
  For Each loI In This.Parent.Parent.Columns
    If Between(loI.ColumnOrder, ;
        This.Parent.Parent.LeftColumn, ;
        This.Parent.ColumnOrder-1)
      .Left=.Left+loI.Width+1
    Endif
  Endfor

Еще раз извините, первый раз решился что-то послать и такой ляпсус :-(


Доброжелатель
09.11.01 08:50:44

Выложил исправленную версию.

Постин Михаил
22.11.01 13:46:32

Привет Дмитрий

Протестировал твой класс - задумка хорошая - но были баги.
Я его немного переписал.
Вот такие глюки
1. На ReyPressed - при нажатии кавычек - глюки в стринге с макропаостановкой. Я их убрал
Case m.nKeyCode=34 Or m.nKeyCode=39
  NoDefault
2. Если грид находится на PageFrame или еще глубже вложен инициализаци окна с поисковым стрингом
не катит. Решение такое - в initsearch
m.CurFormName     = Thisform.Name
m.CurObjectName   = This.Parent.Name
m.AddObjectString = "This.Parent"
Do While m.CurObjectName <> m.CurFormName
	m.CurParentName = m.AddObjectString + ".Parent.Name"
	m.CurObjectName = &CurParentName
	m.AddObjectString = m.AddObjectString + ".Parent"
EndDo
m.AddObjectString = m.AddObjectString + ".AddObject('lSearchWindow','CONTAINER')"
&AddObjectString

Ну и еще там добавил разного - есть воприсы пиши на scooter@mks.kharkov.ua


Постин Михаил
22.11.01 17:41:35

Привет Дмитрий

Протестировал твой класс - задумка хорошая - но были баги.
Я его немного переписал.
Вот такие глюки
1. На ReyPressed - при нажатии кавычек - глюки в стринге с макропаостановкой. Я их убрал
Case m.nKeyCode=34 Or m.nKeyCode=39
  NoDefault
2. Если грид находится на PageFrame или еще глубже вложен инициализаци окна с поисковым стрингом
не катит. Решение такое - в initsearch
m.CurFormName     = Thisform.Name
m.CurObjectName   = This.Parent.Name
m.AddObjectString = "This.Parent"
Do While m.CurObjectName <> m.CurFormName
	m.CurParentName = m.AddObjectString + ".Parent.Name"
	m.CurObjectName = &CurParentName
	m.AddObjectString = m.AddObjectString + ".Parent"
EndDo
m.AddObjectString = m.AddObjectString + ".AddObject('lSearchWindow','CONTAINER')"
&AddObjectString

Ну и еще там добавил разного - есть воприсы пиши на scooter@mks.kharkov.ua


[Дополнить]



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