Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2012
Avatar de M.L.Casellas
M.L.Casellas M.L.Casellas is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 23
Poder: 0
M.L.Casellas Va por buen camino
Alternar color en DBCtrlGrid según datos

Hola;

Estoy tratando de mejorar mi aplicación y voy detrás de conseguir algo que no se si se podrá hacer. He buscado info, pero no encuentro nada.

He visto como colorear cada fila de un DBGrid según el dato de un campo de la tabla o bien alternar cada fila dos colores. Pero yo necesito hacer algo parecido a un DBCtrlGrid. En él se muestran articulos que pertenecen a un tipo en concreto y están ordenados por el mismo. Tengo colocado un Panel y dentro del mismo un DBImage y un DBText (estos alineados con Margins para que se vea alrededor el panel). Lo que me gustaría es que el panel cambiara de color según el tipo de producto. Así se diferenciaria mejor donde acaba y empieza cada grupo.

■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■

■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■


Pero claro, DBCtrlGrid no dispone del evento OnDrawColumCell ni nada parecido. No consigo saber como poder hacer esto, si es que se puede.

¿Alguna idea?, gracias ■ ■ ■
Responder Con Cita
  #2  
Antiguo 08-02-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Posee un evento OnPaintPanel.
¿Has probado con este?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-02-2012
Avatar de M.L.Casellas
M.L.Casellas M.L.Casellas is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 23
Poder: 0
M.L.Casellas Va por buen camino
Gracias Neftali

Si se puede hacer con el evento OnPaintPanel, pero no consigo implementarlo correctamente. Comparo el código del campo "SubFamilia" con el anterior, pero el primer registro de lo que ya es una siguiente familia todavía aparece del color anterior. Ya las siguientes si toman el 2º color, pero se me cuela ese utlimo registro. Debería ya cambiar, pero cambia al 2º registro de la nueva "SubFamilia".
Responder Con Cita
  #4  
Antiguo 09-02-2012
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Buenos días.

Se me ocurre que podías añadir 1 campo más a la tabla de subfamilias para indicarle el color de esa subfamilia,
y en el evento OnPaintPanel le asignas el color correspondiente, y así no tienes que comprobar nada más.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #5  
Antiguo 14-02-2012
Avatar de M.L.Casellas
M.L.Casellas M.L.Casellas is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 23
Poder: 0
M.L.Casellas Va por buen camino
Gracias defcon1_es

Pero no me sirve. Cada sub-familia que de de alta el usuario tendría que crear un color (demasiados colores ). Lo que yo prentendo es alternar entre dos colores, clWhite & clSilver por ejemplo. Al estilo como se hace con las lineas de los DBGrids y en los propios informes impresos. Pero en lugar de alternar a cada registro, a grupos de registros, a cada cambio de subfamilia.

¡Saludos!
Responder Con Cita
  #6  
Antiguo 14-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola M.L.Casellas.

Aunque no se trata del mismo componente, la situación es la misma. Revisá si este enlace te brinda alguna idea: Alternar colores en dbgrid

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Color de Componentes Según estado del DataSet Neeruu Varios 4 22-09-2011 17:37:55
Color distintivo en DBgrid segun fechas amadis OOP 2 03-10-2007 20:00:21
Cambiar color en panel de DBCtrlGrid segun valor de un atributo akinom38 Varios 4 23-01-2006 14:25:30
Color DBGrid según grupo de filas Cabanyaler OOP 11 28-11-2005 08:22:32
mostrar o no mostrar un control en un DBCTRLGRID segun la fila gesteban OOP 0 10-11-2005 17:21:11


La franja horaria es GMT +2. Ahora son las 15:32:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi