FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cambiar color filas DBGrid
Hola tengo un pequeño problema.
Dependiendo del valor de una variable quiero q el registro q grabo en el DBGrid se grabe con un color o con otro, casi lo consigo pero en vez de cambiar un solo registro me cambian todos y eso NO NO. Lo estoy haciendo asi: En el evento DrawColumnCell if linea=0 then DBGrid1.Canvas.Brush.Color:=clRed; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); Con esto me cambia todo el DBGrid, hay alguna forma de que me cambie una sola linea. Lo que quiero consegir es cada linea este de un color diferente para que se distingan bien.Que tal una ayudita.Gracias Un saludete Iskariote |
#2
|
|||
|
|||
Yo eso lo tengo en un TstringGrid de la siguiente forma;
if (Pos('DIFERENTE', Sgrid1.cells[0,row]) > 0) then begin Sgrid1.canvas.brush.Color := clred; Sgrid1.canvas.fillrect(rect); Sgrid1.canvas.textrect(rect, rect.left, rect.top, Sgrid1.Cells[col,row]); end; Espero te pueda ayudar o guiar. ;-) |
#3
|
||||
|
||||
Revisa los hilos que aparecen al final de la página o realiza una búsqueda en los foros; Es un tema que ya se ha tratado muchas veces.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Agradecimiento
Gracias por vuestras contestaciones, pero algo no estoy haciendo bien.Despues de revisar con detenimiento algunos hilos he tomado una idea bastante buena, hago lo siguiente:
if linea=0 then DBGrid1.Canvas.Brush.Color:=clRed; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.Font.Color:=clWindowText; Pero este codigo me cambia todas las lineas no solo una. Es mas cuando la variable Linea tiene 1 todas las lineas me las pone de un color y si viene con 0 me las pone de otro. algo se me queda en el tintero y no se que es.Alguna alma caritativa que me eche un cable??????? Un saludete Iskariote |
#5
|
|||
|
|||
Pintar una fila en un DbGrid
Hola, espero que este ejemplo te sirva.
Saludos Jose Miguel procedure TFMntInventario.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var iDif : Extended; iFile: Extended; begin // Cambia color a Existencia por debajo del minimo if ( Dt1.TInventario.FieldByName('ExistAct').AsInteger < Dt1.TInventario.FieldByName('ExistMin').AsInteger ) then begin DBGrid1.Canvas.Font.Color := clRed; end; // Cambia color a inventario inactivo if ( SoloNumeros(Dt1.TInventario.FieldByName('Activo').AsString, 0) = '0' ) then begin DBGrid1.Canvas.Font.Color := clSilver; end; if ( FCampoJPG( Dt1.TInventario, 'ActivaVencto' )) then begin iDif := StrToDate(FormatFecha(Dt1.TInventario.FieldByName( 'FecVcto' ).AsString)) - Date; iFile := StrToInt(SoloNumeros(Dt1.TInventario.FieldByName( 'AvisoVcto' ).AsString, 0)); // Cambia color a inventario vencido if ( SoloNumeros( Dt1.TInventario.FieldByName('ActivaVencto').AsString, 0) = '1' ) then begin if ( Abs( iFile ) >= iDif ) then begin DBGrid1.Canvas.Brush.Color := $004080FF; end; end; end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
#6
|
||||
|
||||
(1) Leed la guía de estilo, por favor.
(2) Utilizad TAG's en los mensajes (sobre todos los de delphi); Seleccionáis el trozo de texto correspondiente a código Delphi y pulsáis sobre el icono que hay en la barra del editor (no es tan difícil...).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problema cambiar formato de fila en dbGrid | VRO | OOP | 4 | 01-10-2004 17:38:52 |
Cambiar la tecla Tab en un DBGrid | Mariano | Varios | 2 | 15-09-2004 19:57:26 |
Cambiar Color una Celda del DbGrid | Rabata | Varios | 5 | 02-09-2004 09:31:01 |
como cambiar una fila seleccionada por otra en un DBgrid ? | TURING | Varios | 1 | 04-08-2004 04:52:01 |
Cambiar el valor de una celda en DBGrid | Aura | OOP | 8 | 25-05-2004 23:38:13 |
|