I have a curious problem using the grid with Flexcel. I want to replicate Excel's behaviour where editing is activated after a double-click, rather than just a click. The grid doesn't have OnCellDblClick so I've used the following in OnDblClick:
cell := (Sender as TTMSFMXGrid).FocusedCell;
(Sender as TTMSFMXGrid).Options.Editing.Enabled := true;
(Sender as TTMSFMXGrid).EditCell(cell);
In OnCellEditDone I then disable editing. However, after I edit the cell, all cells on that row become empty, apart from the edited cell. If I scroll the grid down then back up the values re-appear. I've tried grid.Repaint and grid.UpdateGridCells but to no avail.
Note that I'm using the grid in virtual mode and retrieving the data from the TXlsFile in the OnGetCellData event.
The only disadvantage of the approach I'm using is that double-clicking on a header cell also activates editing in the selected cell. I can live with this, but an option to have editing require a cell double-click would be good.