¿Cómo cambio el color de una columna en un DBGrid?

¿Cómo cambio el color de una columna en un DBGrid?

Agregar color a las cuadrículas de su base de datos mejorará la apariencia y diferenciará la importancia de ciertas filas o columnas dentro de la base de datos. Haremos esto enfocándonos en DBGrid , que proporciona una gran herramienta de interfaz de usuario para mostrar datos.

Asumiremos que ya sabe cómo conectar una base de datos a un componente DBGrid. La forma más sencilla de lograr esto es utilizar el Asistente para formularios de base de datos. Seleccione employee.db del alias DBDemos y seleccione todos los campos excepto EmpNo .

Columnas para colorear

Lo primero y más fácil que puede hacer para mejorar visualmente la interfaz de usuario es colorear columnas individuales en la cuadrícula con reconocimiento de datos. Lo lograremos mediante la propiedad TColumns de la cuadrícula.

Seleccione el componente de la cuadrícula en el formulario e invoque el editor de Columnas haciendo doble clic en la propiedad Columnas de la cuadrícula en el Inspector de objetos.

Lo único que queda por hacer es especificar el color de fondo de las celdas para cualquier columna en particular. Para el  color de primer plano del texto , consulte la propiedad de fuente.

Sugerencia: Para obtener más información sobre el editor de columnas, busque el editor de columnas: creación de columnas persistentes en sus archivos de ayuda de Delphi .

Filas para colorear

Si desea colorear la fila seleccionada en un DBGrid pero no desea usar la opción dgRowSelect (porque desea poder editar los datos), en su lugar debe usar el evento DBGrid.OnDrawColumnCell.

Esta técnica demuestra cómo cambiar dinámicamente el color del texto en un DBGrid:

procedimiento TForm1.DBGrid1DrawColumnCell 
(Remitente: TObject; const Rect: TRect;
DataCol: Integer; Columna: TColumn;
Estado: TGridDrawState);
comenzar
si Table1.FieldByName ('Salario'). AsCurrency> 36000 luego
DBGrid1.Canvas.Font.Color: = clMaroon;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
terminar ;

A continuación, se explica cómo cambiar dinámicamente el color de una fila en un DBGrid:

procedimiento TForm1.DBGrid1DrawColumnCell 
(Remitente: TObject; const Rect: TRect;
DataCol: Integer; Columna: TColumn;
Estado: TGridDrawState);
comenzar
si Table1.FieldByName ('Salario'). AsCurrency> 36000 luego
DBGrid1.Canvas.Brush.Color: = clWhite;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
terminar ;

Celdas para colorear

Finalmente, aquí se explica cómo cambiar el color de fondo de las celdas de cualquier columna en particular, más el color de primer plano del texto :

procedimiento TForm1.DBGrid1DrawColumnCell 
(Remitente: TObject; const Rect: TRect;
DataCol: Integer; Columna: TColumn;
Estado: TGridDrawState);
comenzar
si Table1.FieldByName ('Salario'). AsCurrency> 40000 luego
comenzar
DBGrid1.Canvas.Font.Color: = clWhite;
DBGrid1.Canvas.Brush.Color: = clBlack;
terminar ;
si DataCol = 4 entonces // 4ª columna es 'Salario'
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
terminar ;

Como puede ver, si el salario de un empleado es superior a 40 mil, su celda Salario se muestra en negro y el texto se muestra en blanco.

Formato
mla apa chicago
Tu cita
Gajic, Zarko. "Cómo cambiar el color en el componente TDBGrid". ThoughtCo, 16 de febrero de 2021, thinkco.com/change-coloring-in-tdbgrid-component-4077252. Gajic, Zarko. (2021, 16 de febrero). Cómo cambiar el color en el componente TDBGrid. Obtenido de # Gajic, Zarko. "Cómo cambiar el color en el componente TDBGrid". ThoughtCo. # (consultado el 15 de marzo de 2021).


Continuar Leyendo >

Articulos relacionados a la energia