FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
dbgrid con colores
Hola,
Sigo trabajando con delphi 6, e IB7. Esta vez necesito saber si hay alguna manera de que en un dbgrid, conectado a mi tabla económica, se muestren los registros que tengan el campo importe como positivo en un color y los que esté el importe en negativo en otro color. no es necesario se cambie el color de todo el registro, con que sea de la columna importe me vale, pero que se distinguan de un modo muy visual los registro positivos de los negativos. Gracias a todos por la ayuda, Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#2
|
||||
|
||||
Normalmente utilizo la TRxDBGrid, que es la grilla de las RxLibs. Esta grilla tiene un par de eventos que te permiten de una forma sencilla poder alterar los colores del fondo o las fuentes para cada celda:
http://www.clubdelphi.com/foros/showthread.php?t=574 http://www.clubdelphi.com/foros/showthread.php?t=3278
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Hola Giniromero,
Mirate en el libro la cara oculta de c++ builder, en la pagina 309. (En el de Delphi no se si es la misma pagina.) El apartado: 'Numeros verdes y numeros rojos' saludos,
__________________
Saludos, Bitman |
#4
|
|||
|
|||
Muchas gracias a todos, he estado mirandome los hilos que me indicasteis, y lo he podido montar, por desgracia me relentiza mucho la aplicación, así que no lo voy a poder poner, pero muchas gracias.
Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#5
|
||||
|
||||
Cita:
// Saludos |
#6
|
|||
|
|||
Evento OnDrawColumnCell
Código:
procedure TfMain.dbGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (Tabla.FieldByName ('importe').asCurrency > 0 then TDBGrid (Sender).Canvas.Pen.Color := clRed else TDBGrid (Sender).Canvas.Pen.Color := clGreen; end; Eso de que la aplicacion se relentice al usar este evento me parece muy extraño Suerte |
#7
|
|||
|
|||
Estoy deacuerdo con Macrost, la mejor manera es con el Evento OnDrawColumCell..
|
#8
|
|||
|
|||
Mil disculpas, el código anterior que envié tenia una omisión y NO funcionaba, hay que añadir la linea en rojo, y ya funciona.
Código:
procedure TfMain.dbGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (Tabla.FieldByName ('importe').asCurrency > 0 then TDBGrid (Sender).Canvas.Pen.Color := clRed else TDBGrid (Sender).Canvas.Pen.Color := clGreen; TDBGrid (Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State); end; |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|