Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-08-2007
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
colores diferentes dentro de dbgrid

Hola amigos del foro, estoy armando una aplicacion para el manejo de reservas y ocupaciones de un hotel, utilizo una grilla en donde las filas van a ser los dias TDates y las columnas van a ser las habitaciones. Dos cuestiones tengo:
La grilla posee un primer campo del tipo TDate y los otros 20 campos del tipo A(100) donde va R u O en caso de estar o no reservada, dos espacios en blanco y el nombre del cliente.
Primero: si se da que el primer caracter es una "O" entonces me gustaria pintar la informacion de la celda con el color azul en caso de que sea "R" esa celda con el color verde.
Segundo: se pueden ver las filas como columnas y viceversa??? para poder recorrer la grilla horizontalmente y no verticalmente?? Uso delphi 6 y paradox.

ejm:

Fecha Habit 1 Habit 2 Habit 3 Habit 4 Habit 5
01/01/07 O / Perez R / Diaz O / Mendez
02/01/07 O / Perez R / Diaz O / Gonzales
.......
......
......

Muchisimas gracias por todo.
Responder Con Cita
  #2  
Antiguo 05-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Con respecto a los colores prueba esto

Cita:
procedure TBusquedas.grBusquedaDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Loquequieras = 'O' then
grBusqueda.canvas.brush.color := El color que quieras;
grBusqueda.DefaultDrawColumnCell(rect,DataCol,Column,State)

end;
__________________
...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
Responder Con Cita
  #3  
Antiguo 18-08-2007
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
No me funciona, color de celda distinto

Hola amigos del foro, yo necesito cambiar segun el valor de la celda de una grilla que puede ser O u R el color de la fuente, y no puedo hacerlo me cambia todo. Les agradeceria me orientaran.
Muchisimas gracias por todo!
Responder Con Cita
  #4  
Antiguo 19-08-2007
Avatar de JULIPO
JULIPO JULIPO is offline
Miembro
 
Registrado: ene 2006
Ubicación: Bogota Colombia
Posts: 187
Poder: 19
JULIPO Va por buen camino
espero te sirva esto

Creo que esto te puede servir tienes que leer el dato que t interesa y asignarle el color que quieras.

Código Delphi [-]
 procedure tdata.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
inherited;
if query1.Field[No].AsString[1] ='R' then
begin
DBGrid1.Canvas.Font.Color:=clBLACK;
dbgrid1.Canvas.Brush.Color:=clblue;
end
ELSE
BEGIN
if query1.Field[No].AsString[1] ='O' then
BEGIN
DBGRID1.Canvas.Font.Color:=CLWHITE;
DBGRID1.Canvas.Brush.Color:=CLgreen
END
END;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
end;








tienes que hacer esto con cada columna No es el numero de field en tu tabla de paradox

Espero te sirva
__________________
No basta con saber es necesario aplicar lo que se sabe, no basta con querer hacer las cosas es necesario hacerlas
Goethe
Responder Con Cita
  #5  
Antiguo 19-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Otra forma de como hacerlo a como te lo han dicho en las otras respuestas que te han dado.

Código Delphi [-]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  with Sender as TStringGrid do begin
    If StringGrid1.Cells[ACol,ARow] <> '' then begin
       Case StringGrid1.Cells[ACol,ARow][PosiciondelaLetra] of
          'O' : begin
                  Canvas.Brush.Color := clNavy;
                end;
          'R' : begin
                  Canvas.Brush.Color := clGreen;
                end;
       end;
    end;
  end;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 21-08-2007
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
Muchas gracias amigos del foro

Muchas gracias amigos voy a probar ambas respuestas.
Responder Con Cita
  #7  
Antiguo 22-08-2007
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
No entiendo que es el query1 que me pusistes!!

Amigo del foro no comprendo que es el query1 que me pusistes
Muchisimas gracias por todo

Cita:
Empezado por JULIPO Ver Mensaje
Creo que esto te puede servir tienes que leer el dato que t interesa y asignarle el color que quieras.


Código Delphi [-]
procedure tdata.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
inherited;
if query1.Field[No].AsString[1] ='R' then
begin
DBGrid1.Canvas.Font.Color:=clBLACK;
dbgrid1.Canvas.Brush.Color:=clblue;
end
ELSE
BEGIN
if query1.Field[No].AsString[1] ='O' then
BEGIN
DBGRID1.Canvas.Font.Color:=CLWHITE;
DBGRID1.Canvas.Brush.Color:=CLgreen
END
END;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
end;










tienes que hacer esto con cada columna No es el numero de field en tu tabla de paradox

Espero te sirva
Responder Con Cita
  #8  
Antiguo 22-08-2007
Avatar de JULIPO
JULIPO JULIPO is offline
Miembro
 
Registrado: ene 2006
Ubicación: Bogota Colombia
Posts: 187
Poder: 19
JULIPO Va por buen camino
Es un componente de Bases de datos

Es un componente con el que puedes leer las tablas de bases de datos incluyendo paradox puede ser un query o table dependiendo de como lonecesites utilizas alguno, si no utilizas este tipo de componente lo cambias por el componente que tu utilizas para leer los datos.

Espero Sea Claro
__________________
No basta con saber es necesario aplicar lo que se sabe, no basta con querer hacer las cosas es necesario hacerlas
Goethe
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo poner colores diferentes a los Items de un TListView? Alcolea OOP 2 16-02-2007 00:36:41
dbgrid con diferentes .db ale21alito SQL 2 08-02-2005 20:38:31
dbgrid con colores Giniromero Conexión con bases de datos 7 08-07-2004 16:26:29
Celdas de colores diferentes en un TStringGrid phyera Gráficos 2 14-09-2003 19:06:26
Colores en una DBGrid REDCOM Varios 2 26-05-2003 20:42:58


La franja horaria es GMT +2. Ahora son las 01:46:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi