Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как избежать при заполнении грида перескока с последнего поля на первое? / 11 сообщений из 11, страница 1 из 1
21.01.2009, 11:17
    #35768829
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
Снова привет!
Как можно избежать при заполнении грида перескока с последнего поля на первое?
Т.е. заполняю таблицу в строку, нахожусь на последнем поле, ввожу данные, и происходит прыжок на первое поле той же строки. А хочу так чтобы этого прыжка не было.
...
Рейтинг: 0 / 0
21.01.2009, 12:10
    #35769024
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
поищите поиском
слово nodefault
и способы переопределения метода Keypress у базовых классов фокспро

если не найдете, то я покажу пример
...
Рейтинг: 0 / 0
21.01.2009, 12:11
    #35769028
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
+ set confirm
...
Рейтинг: 0 / 0
21.01.2009, 12:16
    #35769045
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
+ посмотрите пример
http://sql.ru/forum/actualthread.aspx?tid=316202&hl=keypress
...
Рейтинг: 0 / 0
21.01.2009, 12:41
    #35769110
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
прошелмимо+ посмотрите пример
http://sql.ru/forum/actualthread.aspx?tid=316202&hl=keypress
посмотрел пример, но вопрос был немного не в том, мне хочется сделать так чтоб небыло прыжка на первое поле, т.е. чтобы курсор оставался в том же самом поле
...
Рейтинг: 0 / 0
21.01.2009, 13:21
    #35769220
foxuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
Попробую что-то сказать, хотя новичок в VFP
Попробуйте в классе грида добавить Propeties nRow,nColumn, в которые будете записивать текущее состояние ячейки
в AfterRowColChange
if this.activerow=this.nrow this.ActiveColumn =1
if this.nColumn>0 and this.ActiveColumn =1
this.Columns[this.nColumn].Setfocus
endif
else
this.nRow=this.Activerow
this.nColumn=this.ActiveColumn
endif
Поэкспериментируйте с этим (в коде могут быть описки, поскольку не имею под рукою примера).
Должно позыционировать на ячейке и при Refresh, SetFocus
...
Рейтинг: 0 / 0
22.01.2009, 13:28
    #35771706
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
Попробуйте сделать вот это:

1. Сделать настройку
Set confirm on

2. Изменить BeforeRowColChange Вашего грида

*---------------------------------
PROCEDURE BeforeRowColChange
LPARAMETERS nColIndex
If nColIndex = this.ColumnCount .AND. Inlist(This.RowColChange,2,3) .AND. Inlist(LASTKEY(),13)
Nodefault
ENDIF
EndPRoc
*---------------------------------

P.S. В условии Inlist(LASTKEY(),13) можно добавить еще коды клавиш при которых не будет перехода
Например если нужно прибить и {TAB}, то Inlist(LASTKEY(),13, 9 )
...
Рейтинг: 0 / 0
22.01.2009, 14:18
    #35771811
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
Доработка.

Если в колонках стандартно Text1, то можно еще так.

*------------------------------------------------
PROCEDURE BeforeRowColChange
LPARAMETERS nColIndex
If nColIndex = this.ColumnCount .AND. Inlist(This.RowColChange,2,3) .AND. Inlist(LASTKEY(),13)
Nodefault
If !EOF() .AND. !EMPTY(This.Columns(this.ActiveColumn).Text1.Value)
Skip
EndIF
ENDIF
EndPRoc
*------------------------------------------------

А то получается что при нажатии ЕНТЕР после ввода значения нету перехода НИКУДА.
А так как стандартно на 1-ю Вас не устраивает, то лучше двинутся вниз.
...
Рейтинг: 0 / 0
22.01.2009, 15:21
    #35771982
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
мне в последнем столбце лучше и остаться, без перемещений
...
Рейтинг: 0 / 0
22.01.2009, 15:35
    #35772022
BRROE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
Смею предположить что в последнем поле находится
ЧекБокс для последующего удаления записей
...
Рейтинг: 0 / 0
22.01.2009, 19:36
    #35772616
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избежать при заполнении грида перескока с последнего поля на первое?
BRROEСмею предположить что в последнем поле находится
ЧекБокс для последующего удаления записей
нет, чекбокс в другой серии ;)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как избежать при заполнении грида перескока с последнего поля на первое? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]