Establecer algunas celdas en TDbGrid para editar

Solo quiero algunas celdas editables en un TDBGrid. En una columna dada, algunas, pero no todas las celdas, serán editables, por lo que no puedo configurar Column.ReadOnly para toda la columna y luego dejarla así.

Qué eventos son los mejores para usar, de modo que pueda obtener control cuando se ingresa una celda. Podría usar TDbGrid.ColumnEnter para capturar el movimiento horizontal y TDataSet.AfterScroll para el movimiento vertical en la cuadrícula. O tal vez podría usar TDBGrid.DrawColumnCell (que ya estoy usando para cambiar el color de algunas celdas ...)

Y también tengo problemas para descubrir la mejor manera de cambiar el estado de solo lectura de una celda. Podría establecer el TTable.Field.ReadOnly subyacente, o TDbGrid.Columns []. ReadOnly.

Podría experimentar con todo lo anterior, pero luego dependo de mis pruebas para determinar cómo se implementa la cuadrícula y podría pasar por alto alguna situación. Prefiero saber si el VCL proporciona una manera de manejar esta necesidad, si hay advertencias, etc.

Relacionado:ReadOnly TDBGrid / TwwDBGrid Cell en Delphi?, pero no maneja el desplazamiento a través del teclado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta