No estoy muy de acuerdo. El DBGrid, si bien, como dices, no es más que un contenedor de datos (más bien un visor, contenedor sería el dataset), tampoco es que sea inválido. El DBGrid tiene su propiedad ReadOnly que sirve para impedir cualquier clase de edición (supresión, inserción o modificación de registros) desde el grid. Ademas, cada columna del grid también tiene su propiedad ReadOnly que nos permite impedir la edición del campo correspondiente.
Estas opciones podrían ser más convenientes- según sea el caso -porque el método del BeforeEdit evitaría cualquier tipo de edición, aún desde código, y quizá sólo se desea que el usuario no edite.
Por otro lado, yo he entendido que lo que se quiere es poder editar pero no agregar. En tal caso sería más adecuado abortar el BeforeInsert.
// Saludos
|