Pregunta: | 12811 - COMO CAMBIO LOS COLORES EN UN DBGRID |
Autor: | Gustavo OP |
Hola amigos
Estoy realizando una aplicacion donde utilzo un dbgrid y debo mostrar las columnas diferenciadas por colores una diferente de otra, ademas poder seleccionar las columnas que deseo desede su editor de columnas, como tambien puedo realizar calculos de sumas en el mismo dbgrid de forma automatica. gracias amigos. |
Respuesta: | Hector Luis Collado Fenandez |
Para colorer las columnas del dbgrid debes usar el evento OnDrawColunmCell, una vez que estés ahí solo tienes que escribir algo semejante a esto:
var c: TDBGrid; begin c := Sender as TDBGrid; c.canvas.brush := color deseado según la columna que te indica el evento; c.canvas.fillrect(rect); end; Con esto puedes ponerle color a tus columnas solo tienes que averiguar de que columna se trata manipulando la variable Column que te brinda el evento (Colunm.Title.Caption) y la fila que viene en la variable DataCol. Ahora no recuerdo si eso te saca el texto auque me parece que no, de todas formas revisa el help que ahi está bien explicado pues existe una propiedad llamada DefaultDrawing que es para renderizar lo que lleva el dbgrid por default, en este caso el texto, pero si no es asi tu puedes hacer algo semejante a esto: texto := IntToStr(Column.Field.AsString); c.canvas.font.color := color del texto segun fila y columna; c.canvas.textout(rect.left, rect.top, texto); Bueno esa más o menos es la idea lo único es que no tengo el Delphi a mano para poder corregir algunos errores de sintaxis que puede haber, de todas formas lete la Ayuda. Espero te haya servido de algo y cualquir cosa ponte en contacto cinmigo. That's All EOF |