Validation cells


I've a problem during cell validation.
I need to have this validation control:
User compile the cell, and i validate it, if is not validated, user can't move cursor, but he must stay in the invalid cell
until don't types correctly value, specifically he can't change row, change column and make any operetaion outside compile the invalid cell.
I just tried to use "abort"  procedure for stopping any operation in invalid case, but the grid ignor it and allowing any next operation.
Can you help me to resolve this problem? 


I assume you implemented the event OnCellValidate.
Did you set the boolean parameter Valid to false ?

Thanks for reply,
i've used OnCellValidate event and i set the valid parameter to false when the cell value is wrong, but now i've this other problem:
if the valid parameter is false and i click with mouse in another cell, the prompt return inside the invalid cell (great work)
if i press the keyboard arrow-down, the prompt return inside the invalid cell (great work)
but if i choose to change column with  keyboard arrow-right, the invalid cell leaves the edit status and the cursor moves to the next editable cell. (bad work, because i want the same behavior of two previous case)


Thanks for reporting. This case with grid.Navigation.CursorWalkEditor was indeed not yet covered. We've fixed this now and the next update will address this.

Hello Bruno

I downloaded the latest version of TMS GridPack and I installed it
The  error has been corrected for the TADVStringGrid but i use the TDBAdvGrid.
For this type of grid the error persists and I don't know how to do
Can you help me...... I have to wait for the next update?
I hope you give me an answer soon

You did not provide any information this was with TDBAdvGrid. I have retested this with TDBAdvGrid (used grid.Navigation.CursorWalkEditor = true) and I cannot reproduce this here (tested with demo ADOEditing)

Hello Bruno

  I'm sorry if I gave you the wrong information.
For try to resolve my problem I copy and paste the Grid from demo ADOEdidting to my porject.
I set in Grid,Navigation.CursorWalkEditor=true and Grid.Navigation.AppendOnArrowDown=true and Grid.Navigation.AdvancedInsert=true.
With this customizations the grid works fine but now I have another problem:
If I click out of the grid the event OnCellValidate is triggered twice consecutively
I also tested this problem with the demo ADOEdidting and I have the same result
I hope that you understand what's my problem and that you can help me to resolve it
Hello Bruno,
  I found two new problem

1) If I set the column property Editor=EdNormal and I enter a wrong value in the cell and I press the arrow right key the event OnCellValidate is triggered, I set the Valid parameter to false  and  the prompt return inside the invalid cell
but if I set Editor=EdEditBtn  the cursor jumps to the next editable cell

2) if I press Arrow Down to create a new row (example:Index of Row =2) and immediately after i press Esc the row is deleted and the promp go to the last row (Index of Row =1) ; now if i insert a wrong value in a cell the event OnCellValidate is triggered and the parameter ARow contain the index of the new row  (Index of Row =2)  instead of that of the current line (Index of Row =1)
I hope I have explained well what are the problems I faced
regards Alberto

We could reproduce & fix issue 1.

Issue 2 is not clear. When do you press arrow down? While the inplace editor is active or not? What kind of inplace editor is used? We tried various combinations but couldn't reproduce this. If a problem persists, please send via email a sample source project & clear steps with which we can reproduce this here.

I try to explain better:
 Suppose that I have a DBAdvGrid with 4 rows and the prompt is in the last row , then Grid.Row=4.
Now I press ArrowDown to create a new row so Grid.Row=5.
Immediately, after I press Esc, the row is deleted and the prompt return to previous row (Grid.Row=4).
Now in a cell of this row (Grid.Row=4.) I insert a wrong value the event OnCellValidate is triggered :
in this case the parameter ARow should be 4 like the Grid.Row but the value is 5 (like index of deleted row)
I hope this time my example will be of help to understand what is my problem
Regards Alberto