PDA

Ver la Versión Completa : Dos problemas con DBGrid


voci
01-04-2007, 17:49:32
Supongo que son problemas sencillos de resolver, pero yo soy incapaz de hacerlo.

El primero tiene que ver con los registros repetidos. He creado en el evento OnPostError este código:

MessageBox(application.Handle,'El registro ya existe en la base de datos.','Error',MB_OK+MB_ICONERROR);
action:=daAbort;

Si bien el dataset trata el error correctamente, no es así con el grid en el que si aparece el registro repetido, se puede ver en la imagen.

http://img236.imageshack.us/img236/8584/dibujo1mo9.png

El segundo problema tiene que ver con el propio DBgrid, cuando pulso con el botón principal del ratón marco los registros a borrar(multiple selección), al pulsar con el botón secundario del ratón me aparece un menú que he creado para borrar los registros, pero si lo pulso en una columna no seleccionada la marca de color azul creando confusión, ¿hay alguna forma de evitar que marque dicha columna?.

http://img236.imageshack.us/img236/8046/dibujo2kh7.png

Gracias a todos por vuestra ayuda.

vtdeleon
01-04-2007, 19:37:18
Saludos

Supongo que si te arroja un error en ese evento es porque tienes una llave primaria declarada la cual no permite un valor repetido. Entonces en ese evento debes llamar al método Cancel, para cancelar la insercion antes hecha. (Table1.Cancel).

Saludos

voci
02-04-2007, 17:05:13
Gracias vtdeleon, efectivamente con el método Cancel se resuelve el problema y no aparece repetido el registro en el grid.

En cuanto al segundo problema ¿se puede evitar lo que comento al pulsar con el botón secundario del ratón?.

Saludos.