Hi Tom.
I'm not sure if I understood your request correctly (my English is not very good) but I made an example: after editing the field in the first column, the next column is skipped and jumped to the third column.

thank you so much adk for the reply the program works but because the grid have five col and in the COLUMNWHEN { { || .t. },{ || .T. }, { || .t. }, { || .t. }, { || .f. }} five col is .f. have this error see in pfoto
thanks

Hi.
From the given piece of code, I still do not have a full picture of the situation when the problem occurs.
My guess is that line 431 is Local lCellNavigation: = _HMG_SYSDATA [32] [_HMG_SYSDATA [203]]

You have mixed up various events and handle them with the same procedure, which can cause errors:ON key (OnKeyx (), endfil ());ON INPLACEEDITEVENTOnKeyx ()

Note that This.IsInplaceEdit* properties are only available for the OnInplaceEditEvent event, and you also refer to them in the OK KEY event. This also applies to the variable _HMG_SYSDATA [203]

Personally, I would make separate functions for these events.

You can still try to replace the variable reference _HMG_SYSDATA [203] to GetControlIndex (This.InplaceEditGridName, This.InplaceEditParentName) but the This.InplaceEdit* property is also only available for the OnInplaceEditEvent event.

_HMG_SYSDATA is a multidimensional matrix in which all the parameters necessary for the functioning of HMG are stored.
See the contents of the file h_init.prg, there are basic references - the file is placed in the HMG installation folder in the SOURCE subfolder.

Understanding individual _HMG_SYSDATA arrays requires reanalyzing HMG sources. Therefore, source codes containing direct references to _HMG_SYSDATA and their manipulation affect the entire HMG and may lead to its unstable work.

The _HMG_SYSDATA [340] variable stores the number of the currently edited cell.
Normally, after editing the cell, HMG increases the value of _HMG_SYSDATA [340] by one (ie it will go to the next column - unless it is the last one, then it gets the value 1) and restart the editing process the cell number _HMG_SYSDATA [340].
In the case of _HMG_SYSDATA [340] ++, we cheat HMG.

In order to skip the edition of column No. 2 we implement the following scenario: when we finish editing the cell, where _HMG_SYSDATA [340] = 1, change the value _HMG_SYSDATA [340] to 2, then after the event, HMG will increase the value by one again, then _HMG_SYSDATA [340] will have a value of 3, and HMG will start editing cell number 3.

Last edited by edk on Fri Jul 26, 2019 11:23 am, edited 1 time in total.