DBGrid

Buenas,
Tengo un DBGrid asociado a un DataSource, entonces, me gustaría saber si se puede hacer lo siguiente:
Al hacer un doble click en un registro, que la fila que ocupa el registro cambie de color.
Si no se puede hacer con un DBGrid, ¿con qué componente puede hacerse?
Un saludo.

1 respuesta

Respuesta
1
Si, si se puede pero tienes que ingeniártelas para hacer eso, mira te voy a dar el tip para pintar una celda de color, ok
if Condicion then // esta condicion puede ser una bandera que este en true o valores de algun query o campo..ok
begin
//Luego con el canvas pintas o das el color
DBGrd_InfStatus.Canvas.Font.Color:=clWhite;
DBGrd_InfStatus.Canvas.Brush.Color:=clRed;
end;
if DataCol = 9 then //este if pondras que columna quieres dibujar segun los colores establecidos con el canvas
DBGrd_InfStatus.DefaultDrawColumnCell(Rect, DataCol, Column, State);
esto va programado en evento OnDrawColumnCell del DBGrid.
Y para lo que tu quieres hacer que dando doble click se dibuje, entonces el evento lo programas normal metiendo tu código pero no se lo asignas, sino hasta dar doble click se lo asignas así:
DBGrid1.OnDrawColumnCcell := DBGr1d1DrawColumnCell;
Y tambien activas la bandera de la condicion inicial bandera := true; y listo con esto puedes jugar ..
Solo recuerda que este evento se ejecuta cada vez que se dibuja el grid...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas