with the just released TD6.2 SP3r Update2 some bugs relating to grid windows, e.g. TD-21819 (SalTblQueryFocus returns the wrong values when clicking on a checkbox in the grid) have been fixed. So far, so good, but unfortunately there are again severe problems with grid windows and checkbox columns making grid windows still unuseable for us!

Most of the bugs described below did not appear in TD6.2 SP2 Update2, so they are regressions, but TD6.2 SP2 was also not useable for us because of other bugs with grids that were not yet fixed in that version
Since the constellation is always the same, a grid window with a checkbox column, I describe these problems together in this bug report instead of creating several ones with cross links to the others or multiple testcase uploads.
Now the details:
The first problem,
can be easily seen with the testcase TD62_Grid_CheckboxClickTwice.apt.checkbox column in grid must be clicked twice to change value
To reproduce, click at first in any row in a non-checkbox column (col1 or col2), then click in col3 (the checkbox column). The ROW_Edited Flag is set, but the checkbox remains unchanged.
Only if you do a second mouse click in the checkbox, the value changes from unchecked to checked or vice versa.
The second and really big problem
can be reproduced with the second testcase, TD62_Grid_CheckboxCol.apt.checkbox column in grid with SAM_Validate causes internal loop, TD (or EXE) must be killed by task manager
Here the checkbox column has a message handler for SAM_Validate with a call of SalMessageBox. In this testcase-apt you can also compare the behaviour of the grid with the behaviour of a table window. In the table window all is o.k., but not in the grid.
Click in the grid window in any row into the checkbox column (col2), then click in the same row into col1 or col3 Now you will see the message box, but you can’t click OK or do anything else, not even move the message box. The application seems to get stucked in an internal loop (in the task manager you can see that it’s much time-consuming) and you have to kill the process by the task manager. The bug can be seen when running directly from the IDE and also if you make an EXE of the testcase-apt and run that EXE
Some oddities:
- If you step from col2 to another column with the TAB key instead of doing a mouse click, the bug does not occur.
- If you toggle the checkbox state in col2 with the Space-Key (instead of doing the same by mouse click) and then click with the mouse into col3 or col1 in the same row, the SAM_Validate is not fired (!) and so you will not get stucked.
- But if you toggle the checkbox state with the space key and click with the mouse into col1 or col3 of another row, the SAM_Validate is fired, but in this case you won't get stucked, very strange.
By the way, one more important bug,
In the testcase TD62_Grid_CheckboxCol.apt, the SAM_Validate handler returns always VALIDATE_Ok, but if you change that to a Return VALIDATE_Cancel (as it could be in a realistic scenario), you would expect to stay in that column. In the table window this works for a checkbox column as well as for normal columns and you cannot leave that column after a VALIDATE_Cancel has been returned in the SAM_Validate handler. But for a grid window this does not work, you will leave the checkbox column in all cases, the returncode in SAM_Validate seems to be ignored.VALIDATE_Cancel in SAM_Validate does not work for checkbox column in grid window
Kind regards
Günter Domann
Giscon Systems GmbH
TD6,2SP3r Update2 (Build 45008) Win32