![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
Y no te vale así ? asientos pares un color, impares otro. En principio, si están ordenados por asiento, y teniendo en cuenta que no puede haber saltos ... Es igual que el código de ecfisa pero en lugar de usar Recno usas el valor del campo asiento. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#2
|
||||
|
||||
|
Casi, casi, estoy haciendo unos ajustes... pero vamos por buen camino
![]() No me vale, amigo, los asientos pueden no estar ordenados (aunque en el ejemplo lo esté), normalmente estará ordenado por fecha.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
A ver ahora
__________________
Aleca |
|
#4
|
||||
|
||||
|
Gracias a ambos, las ideas ambos (ecfisa y Aleca) funcionan 'más o menos' bien.
Tienen el inconveniente que a veces se intercambian los colores, normalmente cuando se intercalan asientos de 1 sólo registro o cuando el número de asientos es un número impar. Más o menos es el problema que tenía yo con las pruebas que estaba haciendo, que no terminaba de "cuadrar". Bueno, sigo haciendo pruebas...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Hola,
Pues a como lo entiendo para hacer lo que buscas deberías leer el campo en cuestión, y compararlo con el anterior leído. En caso de ser diferente, se altera el color y se pinta con ese. En otro caso sigue pintando por el defecto. Inicialmente se lee el primer registro y se decide el color inicial y se guarda en una variable auxiliar el valor del campo de este registro. Se pinta el primer registro con el color inicial. En lo sucesivo se va comparando el valor del campo con el de la variable auxiliar y en caso de ser diferente se guarda en variable auxiliar este valor, se altera el color. Para lograr la alteración entre dos colores yo tendría algo como esto: type ColorDoble = array[boolean] of TColor; De ese modo tendría los dos colores, por ejemplo:
Y de modo que cuando se cumpla:
Provocar un cambio en el color elegido por pintar, Algo como:
La idea no es ofrecer el código exacto. No tengo Delphi a mano, pero al menos orientar un poco las cosas. Saludos, |
|
#6
|
||||
|
||||
|
Sí, la idea es esa, Delphius, aunque no termina de quedar bien.
Pienso que el problema puede venir por lo siguiente, pongo un ejemplo: empezamos pintando en blanco primer registro (asiento, suelen ser varios registros por asientos) nuevo registro... pintamos en negro nuevo registro... pintamos en blanco Se acabó... se posiciona al principio del dbgrid... y en memoria tenemos el último color, el blanco. Si ahora movemos el cursor... pintará de negro. O sea, estamos en el primer registro que era blanco y ahora lo pinta de negro, se están intercambiando los colores. Esto no ocurre cuando el número de asientos es par, acabamos en negro y se posiciona al principio, si movemos el cursor... pintará de blanco, que es el inicial, por lo tanto saldrá bien. El mismo problema sucede (no sé por qué) cuando hay asientos con un sólo registro, no será nunca habitual porque en contabiildad será siempre como mínimo 2 registros (apuntes) por asiento. En fin, puede que todo sea ya que estoy cansado de esto y mejor lo dejo para mañana con las ideas más claras ![]() Aunque seguiré un rato más ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
¿Te refieres a que eso se descuadra cuando nos desplazamos por los registros, alterando el cursor?
¿No consideraste trabajar con otras dbgrids más especializadas? Quizá en una de esas hay alguna que te facilite la cosa. Yo también estoy en cero amigo. Saludos, |
|
#8
|
||||
|
||||
|
Sí, los hay, pero cuando me encargaron este proyecto, lo primero que pregunté fue: ¿qué importe tiene presupuestado este proyecto?, y mis jefes se miraron las caras y contestaron: "cero", "nada".
Así que todo lo hago "a mano", lo más algunos componentes libres que los adapto a mis requerimientos. Luego me meten prisa diciendo que estoy tardando demasiado.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Alternar dos colores en las lineas de un DBGrid. | jealousy | OOP | 4 | 07-05-2014 15:45:23 |
| colores en un dbgrid | frf_84 | Gráficos | 2 | 07-12-2004 12:14:57 |
| dbgrid con colores | Giniromero | Conexión con bases de datos | 7 | 08-07-2004 16:26:29 |
| dbgrid en colores | sebas | Conexión con bases de datos | 2 | 09-07-2003 09:16:14 |
| Colores en una DBGrid | REDCOM | Varios | 2 | 26-05-2003 20:42:58 |
|