FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hacer que una columna de un DbGrid aparezca distinta según valor
Hola a tod@s.
Necesito que en un DbGrid, si una columna de ese DbGrid, contiene el valor 0.00, entonces que no aparezca este valor sólo que se quede en blanco esa columna, no muestre nada. Coloco el DefualtDrawing a False, e intento manejar el evento OnDrawColumCell consigo algunas cosas pero no lo que me propongo. Desde ya muchas gracias, y feliz verano. Que calor esta haciendo este año. |
#2
|
|||
|
|||
Hola Aprendiendo, aquí tambien hace un fuerte calor. Aunque no veo del todo clara tu pregunta te paso un ejemplo que puede ser que te ayude, supon que tenemos un dbgrid con un campo en la columna nº 10 que se llama 'surtida' y es booleano, yo quiero que aquellos valores del campo que sean verdaderos se pinten de aqua y solo se lean los que son falsos, entonces hago lo siguiente:
Código:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with Sender as TDBGrid do begin if (datacol=10) and table1.FieldByName('surtida').AsBoolean then BEGIN Canvas.Brush.Color := clAqua; Canvas.FillRect(rect); end else defaultdrawing:= true; end; end; Espero te ayude el ejemplo y vete a la costa para que refresques del calor. Saludos |
#3
|
||||
|
||||
En el evento gettext del campo puedes decidir que valor mostrar. Saludos |
#4
|
|||
|
|||
Mi problema es que no sé en que posición estará la columna, sólo sé el nombre de la columna, pero no su posición. Y esa posicion en el dbgrid puede variar a gusto del usuario.
¿como averigo esa posición en ese momento? Saludos. |
#5
|
||||
|
||||
Con la propuesta anterior es indiferente la posición.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
Muchas gracias Casimiro Notevi, al final lo he solucionado de esta forma:
De esta forma esté donde esté la columna lo hace perfecto. Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como hacer para que en los totales si el valor es Cero aparezca en Blanco | oscarac | Impresión | 1 | 13-03-2011 03:48:17 |
DBGrid de color según campo lógico (u otro valor) | Neftali [Germán.Estévez] | Trucos | 0 | 30-06-2006 17:16:05 |
Como ordenar un dbgrid segun la columna seleccionada | pyanqn | Varios | 1 | 08-11-2005 16:59:41 |
como hacer que una columna del dbgrid contenga un valor de un TEdit en cada celda | Shidalis | OOP | 2 | 02-08-2005 13:05:35 |
Actualizar un campo segun opcion de picklist de otra columna de un dbgrid | nefy | Conexión con bases de datos | 5 | 17-01-2004 21:11:34 |
|