Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Перемещение по Гриду  [new]
sanya_tir
Member

Откуда: Москва
Сообщений: 206
Подскажите кто знает, как лучше сделать чтобы по кнопкам Home/End перемещался курсор в гриде на первую/последнюю запись. Я на KeyPress повесил такой код, но как-то не понятно все происходит, то перемещает как надо, а то по гриду вправо/влево бегает... Спасибо.

if nKeyCode=1
sele comp
go top
thisform.grid1.column2.text1.setfocus
endif

if nKeyCode=6
sele comp
go bottom
thisform.grid1.column2.text1.setfocus
endif
28 апр 05, 15:23    [1505417]     Ответить | Цитировать Сообщить модератору
 Re: Перемещение по Гриду  [new]
sanya_tir
Member

Откуда: Москва
Сообщений: 206
вот так
if nKeyCode=1
sele comp
go top
thisform.grid1.setfocus
endif

if nKeyCode=6
sele comp
go bottom
thisform.grid1.setfocus
endif

срабатывает нормально НО!!! сбивается активная колонка, т.е. при нажатии home не только на самый верх подымаемся, но еще и на одно поле влево.... что не желательно...
28 апр 05, 16:07    [1505689]     Ответить | Цитировать Сообщить модератору
 Re: Перемещение по Гриду  [new]
Crispy
Member

Откуда:
Сообщений: 523
Влево-вправо бегает - это когда у тебя получается редактирование какого-то поля. Лучше всего вообще не давать напрямую грид редактировать - будут потом лишние проблемы. Сделай везде по Column и Text - ReadOnly и TerminateRead в Text (цвета выделения еще для красивости подбери нужные) - и все будет нормально. (еще курсор лучше отключать, когда он не нужен) А редактировать поля - в отдельных TextBox-ах, к примеру. (можно поизвращаться, сделать их скользящими по гриду, так, что пользователь ничего и не заметит, как будто он грид редактирует).
28 апр 05, 16:14    [1505720]     Ответить | Цитировать Сообщить модератору
 Re: Перемещение по Гриду  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi sanya_tir!

1) Совершенно неясно в КАКОМ KeyPress это напсиано - их много - и на форме, и в текстбоксах в гриде...
2) Настройки формы KeyPreview и грида AllowCellSelection (для VFP8 и старше) влияют на то кто будет обрабатывать нажатия.
3) NODEFAULT - отменит "штатное" действие кнопки, которое для Home/End как это не покажется странным ЕСТЬ, и никак не связано с GO TOP/GO BOTTOM (потому лучше другую комбинацию выбрать - например банально Ctrl+Home/Ctrl+End - MS предложила именно это для такой навигации - и собственно в VFP8 оно так и работает для Browse окон).

Posted via ActualForum NNTP Server 1.1

29 апр 05, 02:56    [1507113]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить