FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Alternar colores en dbgrid
Hola, ya sé que esto es de lo más común, pero no consigo hacer que funcione, así que pregunto a los expertos.
A diferencia de lo habitual, que cambia de color por cada registro, en este caso es por uno de los campos. Aunque en la imagen aparece ordenado, lo normal es que no esté ordenado por ese campo (asiento), sino por el campo fecha. He usado una variable para guardar el contenido del último asiento, si el nuevo es distinto... se cambia de color. No sé si ya estoy encabezonado con esto, pero no consigo que salga bien. ¿Alguna idea?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#2
|
||||
|
||||
Hola Casimiro.
¿ Queres que los registros recién ingresados tengan otro color ? Edito: ( lo que vió Casimiro ) Probá este código:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 04-01-2011 a las 21:41:42. |
#3
|
||||
|
||||
Pero de ese manera va a alternar el color por cada registro y necesito que sea por cada vez que cambia de 'asiento'
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
jajaja... has editado tu respuesta y ahora he contestado a algo inexistente
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Es una simple consulta sql, nada más, y quiero que cambie de color cada vez que cambie el valor del campo asiento.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
algo asi te puede servir?
lo uso para mostrar los articulos dados de baja.
__________________
Aleca |
#7
|
||||
|
||||
Si me dí cuenta de mi confusión, pero no fuí tan rápido para modificar ...
Ya la agrego para que el hilo sea coherente...
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
Casimiro he subido al Ftp del club lo que te comentaba en este caso tienes las opciones de 2 o 5 colores y de usar por asiento o por cambio de asiento, con control por variables, pero en este último caso, pasa lo que comentas de perder el color y demás, pero en el otro no.
En el primer caso, te recomendaría el usar un color por terminación del 0 al 9, pero te he expuesto el ejemplo a dos colores y a cinco. En la misma carpeta tienes la base de datos Firebird 2.0 ten en cuenta que tendrás que cambiar la ruta para acceder a ella. El Archivo es Prueba Grid Coloreado.zip y pesa unos 800K Espero te pueda echar una mano
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#9
|
||||
|
||||
Bueno, en principio... ¡¡¡haya paz!!!, es lo único que he pedido a los reyes magos, así que ayer no encontré ningún regalo junto al árbol de navidad , entonces supongo que se cumplirá mi deseo . Todas las propuestas me parecen estupendas, las valoro muchísimo y no desmerezco ninguna, al contrario, es algo que agradezco muchísimo porque sé el tiempo que lleva pensarlo, probarlo, comentarla aquí y defenderla
MUCHÍSIMAS GRACIAS A TODOS, sin excepción. Ante tanta avalancha de soluciones posibles... ¡¡¡no me da tiempo de probarlas todas!!! , porque tengo que implementarlas bien en mi código para decidir si realmente no terminan de funcionar bien o es que simplemente yo no lo he implementado correctamente. Y no me gustaría desechar ninguna propuesta sugerida por vosotros que resulte que sí funcione correctamente y que sea yo el culpable de no haberla probado bien. Cita:
Un asiento tiene sus lineas todos con la misma fecha, los asientos normalmente estarán ordenados también, aunque no siempre. Las líneas siempre. Lo principal es que los asientos están agrupados. ---fecha---asiento---linea--- 05.01.2011----20-------1----- 05.01.2011----20-------2----- 05.01.2011----20-------3----- 05.01.2011----32-------1----- 05.01.2011----32-------2----- 08.01.2011----28-------1----- <-- en este caso no está ordenado por asiento 08.01.2011----28-------2----- 08.01.2011----29-------1----- 08.01.2011----29-------2----- 08.01.2011----29-------3----- ----------------------------- Y repito, el problema no es pintarlos cuando se se hace el select y se presenta en el grid, el problema viene después cuando te mueves por el grid con teclas o ratón.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 07-01-2011 a las 14:28:05. |
#10
|
||||
|
||||
Para tener en cuenta
Cita:
Por experiencia propia (y no solo me ha pasado a mi, sino tambien a muchos ) que cuando utilizamos el evento OnDrawColumnCell del DBGrid para por ejemplo pintar algunas filas o celdas del Grid, por algunas extraña razon(Que tengo que invetigarla mas a fondo) al mover el scroll (movernos por los registros)del DBGrid ya sea con el mouse o con el teclado, Windows no dibuja por completo el DBGrid,es decir, pareciera que tiene un comportamiento extraño, por eso es que quizas te ha parecido que las soluciones que te han propuesto no te funcionan bien. Para solucionar ese problema y hacer que windows redibuje el DBGrid cada ves que te muevas por los registros, es necesario llamar al método Invalidate del DBGrid en algun evento específico, por ejemplo yo utilizo el evento OnDataChange del DataSouce al que está enganchado el DBGrid para hacer el repintado ya que lo veo el más adecuado para hacerlo. Espero haberte aclarado un poco el panorama. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Última edición por rgstuamigo fecha: 07-01-2011 a las 23:10:56. |
#11
|
|||
|
|||
Una pequena optimizacion de codigo que propuse anteriormente.
Saludos cordiales |
#12
|
||||
|
||||
¿Puedes poner el metadata para crear la BD yo mismo?, o haces un backup transportable para que yo la restaure, es que tengo fb1.5 y 2.1. Y con ninguna de ellas puedo acceder a esa BD.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#13
|
||||
|
||||
También espero la metadata. Ya esto se volvió un reto. Es lo que me detiene a probar un código productivo, que no tengo datos para hacer las pruebas. Pero sin embargo, creo que el mejor podría proporcionar una base de donde partir es casimiro. Digo, danos una tierra fértil (una GUI y datos adecuados al problema) para hacer fertilizar ideas.
|
#14
|
||||
|
||||
Hola,
Concuerdo con Chris en no usar al servidor de datos como muletilla para lo que es GUI. En ningún momento tomé sus palabras como una ofensa. Por otra parte, si buen concuerdo, como dije, con Chris; también creo que hay veces en que a falta de una buena solución hay que hacer uso de los recursos de que dispongamos aunque no sean los ideales. Hasta el momento creo que ninguna de las soluciones puramente GUI funciona al 100% (*) y entre traer todos los registros al cliente o usar un SP, prefiero lo segundo (aunque yo, en lo personal prefiero mi solución je, je). Creo que hay rejillas de terceros que manejan esto de forma sencilla, pero también hay que tener en cuenta lo del cero presupuesto que menciona Casimiro. Así que, un pequeño tiempo extra en la consulta bien compensa la falta de presupuesto. De todas formas, si se encuentra una solución puramente GUI será mucho mejor. (*) He estado probando la solución de duilioisola pero también tiene sus bemoles. Por alguna razón, al dar click sobre la barra de desplazamiento vertical los colores se alternan (lo que estaba sombreado deja de estarlo y viceversa), lo que produce un efecto feo. Además, si la selección esta en ciertos registros, dicho click produce un sombreado incorrecto a partir de la selección. // Saludos Última edición por roman fecha: 07-01-2011 a las 19:28:52. |
#15
|
||||
|
||||
Bueno, aquí he puesto un ejemplo sencillo para poder trabajar sobre él.
No recuerdo de qué compañero es, pero tiene el mismo inconveniente, en según qué casos alterna los colores incorrectamente. Yo ya estoy pensando que es un fallo mío, no sé, en fín, ahí está. He añadido un sql para crear la BD por si acaso tenéis una versión distinta a la FB2.1 y además se le añaden un montón de registros de pruebas. Concretamente las pruebas que estoy haciendo son con fechas 16/12/2010, luego el día 17, luego el 18 y así en adelante, ninguna de las propuestas presentadas ha llegado a presentar correctamente los datos cuando la fecha es 19/12/2010, si vamos al último registro con las flechas y luego subimos hasta el principio... los colores se han alternado. Lo que era claro se convierte oscuro y lo oscuro se convierte en claro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#16
|
||||
|
||||
Perdonar por no responder antes, pero tuve que salir a llevar a mi hija a casa de unas amigas.
En cuanto a la metadata he probado en el Ib Expert y lo que me saca ee con todos los registros, así que opte por imprimir la estructura a un PDF, recordar que la base de datos en este caso es DEPRUBA.FDB, con una única tabla MOVIMIENTOS. En Cuanto a los Registros no os preocupéis ya que el programa tiene un botón que crea 100 registros aleatorios cada vez que lo pulséis.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#17
|
||||
|
||||
Cita:
Sí, vaaaaleeee... mysql también tiene cosas buenas
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Alternar dos colores en las lineas de un DBGrid. | jealousy | OOP | 4 | 07-05-2014 16:45:23 |
colores en un dbgrid | frf_84 | Gráficos | 2 | 07-12-2004 13:14:57 |
dbgrid con colores | Giniromero | Conexión con bases de datos | 7 | 08-07-2004 17:26:29 |
dbgrid en colores | sebas | Conexión con bases de datos | 2 | 09-07-2003 10:16:14 |
Colores en una DBGrid | REDCOM | Varios | 2 | 26-05-2003 21:42:58 |
|