|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
Снова привет! Как можно избежать при заполнении грида перескока с последнего поля на первое? Т.е. заполняю таблицу в строку, нахожусь на последнем поле, ввожу данные, и происходит прыжок на первое поле той же строки. А хочу так чтобы этого прыжка не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 11:17 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
поищите поиском слово nodefault и способы переопределения метода Keypress у базовых классов фокспро если не найдете, то я покажу пример ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 12:10 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
+ set confirm ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 12:11 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
+ посмотрите пример http://sql.ru/forum/actualthread.aspx?tid=316202&hl=keypress ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 12:16 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
прошелмимо+ посмотрите пример http://sql.ru/forum/actualthread.aspx?tid=316202&hl=keypress посмотрел пример, но вопрос был немного не в том, мне хочется сделать так чтоб небыло прыжка на первое поле, т.е. чтобы курсор оставался в том же самом поле ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 12:41 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
Попробую что-то сказать, хотя новичок в 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2009, 13:21 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
Попробуйте сделать вот это: 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 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 13:28 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
Доработка. Если в колонках стандартно 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-ю Вас не устраивает, то лучше двинутся вниз. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 14:18 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
мне в последнем столбце лучше и остаться, без перемещений ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 15:21 |
|
Как избежать при заполнении грида перескока с последнего поля на первое?
|
|||
---|---|---|---|
#18+
Смею предположить что в последнем поле находится ЧекБокс для последующего удаления записей ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2009, 15:35 |
|
|
start [/forum/topic.php?fid=41&fpage=137&tid=1586844]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 172ms |
0 / 0 |