FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid??
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid??
Lo que pasa es que quiero cambiar de fondo una Celda uso el siguiente código:
Con el código de arriba no me pinta nada aun así si esta seleccionada la Celda No. 3, El problema es que si le quito el Tipo de Estado "State = []" si me lo colorea pero a parte si abro un nuevo registro me pinta la celda del Nuevo registro de la misma Celda por lo que lo unico que quiero es que no me pinte nada abajo siempre y cuando se cumpla la condicion if not PVentaCheck then. Espero me haya Explicado. Cualquier sugerencia se los agradezco. |
#2
|
||||
|
||||
Tal vez esto pueda ayudar
Cambia en donde compara el estado el '='por 'in'. mira en el codigo abajo
|
#3
|
||||
|
||||
No me Funciona
Gracias por su respuesta, pero no me funcionó, trato de poner
(Column.Index = 4) a (Column.Index = 3) para que me coloree la Columna #3 pero en vez de colorearme se mueve la Celda, si no hago esta misma asignación me colorea la columna #4 en vez de la #3 y si me colorea la #4 al abrir un nuevo registro se quita el Color, en fin es un desastre. Que tenga buen día. |
#4
|
||||
|
||||
Si quieres que el pintado afecte sólo a las filas que satisfagan una condición entonces esta condición debe de alguna manera depender de la fila. En tu código PVentaCheck o es falso o es verdadero para todas las filas así que, o se pintan todas las celdas de la columna o no se pinta ninguna.
// Saludos |
#5
|
|||
|
|||
COlorear DBGridColumn
Prueba lo siguiente
if DataCol = 0 then //Index de la columna que quieres colorear begin DBGrid1.Canvas.Brush.Color := clBlue; //Color de fondo FillRect(DBGrid1.Canvas.Handle, Rect, DBGrid1.Canvas.Brush.Handle); DBGrid1.Canvas.Font.Color := clRed; //Color de fuente DBGrid1.Canvas.TextOut(Rect.left + 2, Rect.top + 2, Column.Field.AsString); end; |
#6
|
||||
|
||||
Cambie el Estado de la Celda y el número de Columna que quiero que me cambie de Color, Agregue el Código que me proporciono MFCORRAL para pintar la Celda Si me funciona Corrrectamente pero si abro un Nuevo registro me la DESPINTA y vuelve a su estado normal, es lo que quiero evitar que haga eso, quiero que quede el Color que le pongo al cumplirse la condición, siendo que la condicion la hago en el evento OnColExit de la Columna #3. |
|
|
|