![]() |
![]() |
| 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
|
||||
|
||||
|
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 |
|
#2
|
||||
|
||||
|
La otra posibilidad que se ocurre es disponer de alguna estructura que almacene la distribución de colores basándose en la posición de los registros.
Por ejemplo: 1 - Blanco 3 - Rojo 10 - Blanco 11 - Rojo ... De ese modo diríamos que los dos primeros registros van de blanco, desde el 3ro al 9no va de rojo, el 10mo blanco... y así podríamos armar una lista almacenando un "ítem" cada vez que se detecte un cambio. Lo que se haría es que al lanzar la consulta, llevar un procedimiento que se encargue de analizar el conjunto de datos y genera esta estructura. Ya con esta estructura de datos se podría pintar los registros sin problemas. Se evaluaría en base al RecNo y de allí determinar el color que le corresponde. No se si se me entiende. Cada vez que se desplazace sobre el DBGrid o se repintase se examinaría esta estructura y se pintaría con el color correspondiente ya que tenemos toda la referencia. Saludos, |
|
#3
|
||||
|
||||
|
Sí, te entiendo, aunque tener que llegar a estos extremos para hacer algo así es como se dice normalmente: matar moscas a cañonazos
![]() En fin, ya sí me voy a dormir, que son casi las 6am y mañana (dentro de un rato) veré cómo lo hago. Gracias!!!
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
No acabo de entender del todo el problema.
Entiendo perfectamente que puedas ordenar por fecha, pero no entiendo que sea sólo por ese campo. Bien dices que lo normal es que un asiento tenga dos apuntes mínimos, partida y contrapartida. Por lo tanto, bajo mi punto de vista, deberemos ordenar por fecha y asiento, ya que si no ( insisto que es una opinión mía ), la información no tiene sentido ( o lo pierde). Por lo tanto, si ordenas por FECHA y ASIENTO, las soluciones más simples que se han manejado creo que serían válidas. Corrigeme si me equivoco, ya que me interesa saber tu opinión. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#5
|
||||
|
||||
|
Casimiro, si me permites mi opinión, por que no usasun sistema de control por asientos, asignando al último digito del asiento, en el grid en el envento OnDrawColumCell... (no recuerdo el nombre exacto), como digo según sea este último digito, se rellene la fila de un color, lo cual te permite 10 colores diferentes del grid, ya sería mucha casualidad, dos asientos con la misma terminación para que sea el mismo color, y a unque esto ocurriese, podrias usar una variable local de 0 a 9, y cada vez que cambiaz de valor el asiento, cambias este valor y asignas color a la fila.
Espero se entienda mi idea.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
|
#6
|
||||
|
||||
|
Creo que el problema viene que, cuando pintamos la primera columna y preguntamos si el dato cambia, cambiamos el color (correcto); pero no podemos cambiar la variable que controla dicho cambio, porque entonces, el resto de las columnas volverían a cambiar.
He probado con esto y me ha funcionado:
Prueba a ver si te vale Un saludo Última edición por ElKurgan fecha: 05-01-2011 a las 09:54:37. |
|
#7
|
||||
|
||||
|
le estuve dando un poco de vuelta al asunto y se armas un campo calculado que lleve el color en que se va a pintar (0-blanco, 1-Verde) y pintas de acuerdo al valor de ese campo.
ahora me lo mantiene estable. Saludos ![]()
__________________
Aleca |
|
#8
|
||||
|
||||
|
Cita:
![]()
__________________
Aleca |
|
#9
|
||||
|
||||
|
Cita:
Saludos PD: Cuando Casi vea el revuelo que ha formado igual le da un patatús.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#10
|
||||
|
||||
|
jajaja... bueeenooo... ¡¡¡ vaya jaleo !!!
![]() Muchísimas gracias a todos ![]() Y sí, me piden que esté ordenado por fecha y luego por asiento/apunte, pero como cada asiento son varios apuntes... No sé, el tema no parece muy complicado, al contrario, pero sin embargo se está complicando. El asunto es que cada asiento son varios registros (apuntes) y cuando hay un número impar de asientos (y en otros casos que no he detectado el motivo) al terminar de pintar el último se queda con el color igual al primer registro, entonces al posicionarse en el primero e intentar mover el cursor a otro... lo pinta del color que no le corresponde. Se hace el select y pinta el dbgrid: asiento 1 apunte 1 azul asiento 1 apunte 2 azul asiento 1 apunte 3 azul asiento 2 apunte 1 rojo asiento 2 apunte 2 rojo asiento 3 apunte 1 azul asiento 3 apunte 2 azul <-- en memoria queda último color usado: azul Entonces se posiciona en el primer registro, y si muevo el cursor al siguiente, por ejemplo, al estar en azul... lo pinta e rojo. Alterna los colores. Cuando el número de asientos es par entonces no hay problema asiento 1 apunte 1 azul asiento 1 apunte 2 azul asiento 1 apunte 3 azul asiento 2 apunte 1 rojo asiento 2 apunte 2 rojo asiento 3 apunte 1 azul asiento 3 apunte 2 azul asiento 4 apunte 1 rojo asiento 4 apunte 2 rojo <-- en memoria queda último color usado: rojo Al posicionarse en el primero y movernos, cambia rojo por azul, que es el color correcto. ![]() En fin, que voy a hacerlo de otra forma, ya habéis dado pistas sobre eso, un campo calculado que vaya anotando cada vez que cambia de asiento y listo, luego se pinta del color según ese campo, (true/false ó 0/1). O cargarlo en un clientdataset o tabla en memoria y hacer lo mismo. Y de nuevo muchísimas gracias a todos ![]() Si se os ocurre una forma "normal" y que funcione... avisáis ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#12
|
||||
|
||||
|
ATHLETIC DE BILBAO 1 - BARCELONA 0
El ATHLETIC a octavos de final en la copa !! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
![]() |
| 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 |
|