Right, the grid didn't have a easy way to detect checkbox toggle, in Lazarus 23510 I have added a new event: OnCheckboxToggled it has an aState argument that indicates what was the final state of checkbox, this event is triggered for currently cell, ie, grid.col, grid.row.