FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema con DbGrid.
Hola amigos del club delphi, tengo un problema para colorear la fila de una grilla según el contenido de un campo especifico en la tabla, osea, en la tabla tengo un campo llamado estatus dentro del cual guardo los siguientes registros (Pendiente y Finalizado), lo que he tratado de hacer es que cuando ese campo en la grilla este como “Finalizado” la fila adquiera un color azul y cuando presente “Pendiente” se muestra en color rojo. Traté de realizarlo de las siguientes maneras y no he logrado nada. No quiere funcionar.
if table1estatus := 'finalizado' then begin DBGrid1.canvas.brush.color :=clBlue; end else DBGrid1.canvas.brush.color :=clRed; DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State) End; End; La otra forma: if table1estatus := 'finalizado' then begin DBGrid1.canvas.brush.color :=clBlue; end else if table1estatus := 'pendiente' then begin DBGrid1.canvas.brush.color :=clRed; DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State) End; End; Esta línea me da error y no me permite ejecutar el programa, solo se ejecuta cuando la comento y una vez ejecutado el código no funciona( DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State), acaso será que no funciona con campos tipos carácter o me falta algo? Le agradecería mucho su ayuda, gracias de antemano. |
#2
|
||||
|
||||
y en que evento estas ejecutandolo???
porq no encierras el codigo entre etiquetas delphi para poder leerlo bien
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#3
|
||||
|
||||
Tenías el DefaultDrawColumnCell dentro del segundo bloque de la condición. Debe ser ejecutado en ambos casos por lo que hay que sacarlo fuera.
__________________
Piensa siempre en positivo ! Última edición por gluglu fecha: 07-08-2007 a las 15:43:59. |
#4
|
|||
|
|||
Asunto
Pués lo he hecho y nada.
Me gustaría saber si es que este bloque (DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State) no permite la ejecución debido a que estoy trabando con campos tipos String.
La otra forma:
|
#5
|
||||
|
||||
No tiene nada que ver que sea tipo String o cualquier otro tipo.
De nuevo insisto en que tu código tiene que ser de la siguiente manera para que te funciona correctamente : Al menos, en el código que expones, sobra un End; y después no sé si tu mismo te aclaras donde debe de ir el begin y el end de cada bloque. He modificado tu código dejando el begin y end para cada bloque. Pero de hecho dichos begin y end sobran en el caso particular propuesto, por lo que podría quedar así : tal y como expuse anteriormente. Además en la línea del DBGrid1.DefaultDrawColumnCell te falta terminarla con ';'. La otra forma que pones, también le sobra un end; y tampoco está terminada con ';' la fila del DefaultDrawColumnCell. Fíjate bien en los bloques Begin End. Ahí es donde tienes el error. No en si es de tipo String u otro tipo.
__________________
Piensa siempre en positivo ! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problema con dbgrid | Choclito | Varios | 2 | 12-02-2007 18:11:06 |
Problema con un DBGrid | ivanloco | Varios | 3 | 01-06-2006 15:28:20 |
Problema con DBGRID | poniente | Varios | 1 | 26-01-2006 17:13:53 |
Problema con DBGRID | EITB | OOP | 0 | 04-12-2004 02:20:31 |
problema en un DbGrid | fmonte | Varios | 3 | 18-11-2004 21:02:50 |
|