Hi
Windows 10 x64
TMS Component Pack 8.4.0.0
Delphi Berlin 10.1 update 1
There seems to be an issue with HotmailRowSelect and ClearRowSelect / UncheckAll(x)
Create an empty project with a grid (HotmailRowSelec true) and a button with the following code:
AdvStringGrid1.ClearRowSelect;
AdvStringGrid1.Row := 1;
Run the project and press the button once: Row 1 will be checked and selected.
Press the button again: Nothing will be checked or selected
Spam the button and the row will never be checked / selected again. I would expect the first row to always end up checked/selected by doing this.
* Same thing will happen if you replace ClearRowSelect with UnCheckAll(0)
When you set grid.Row to a new value, this row becomes selected and checked. The issue seems to happen when you clear the selection and set a row to the already "active" row.
I can get around the issue by changing the button's code to:
AdvStringGrid1.ClearRowSelect;
AdvStringGrid1.Row := 1;
AdvStringGrid1.SelectRows(AdvStringGrid1.Row, 1);
Is this something you can fix?
Thanks!
The correct way to programmatically preselect a row is:
AdvStringGrid1.RowSelect[1] := true;