Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Mejor apariencia para un DBGRID (https://www.clubdelphi.com/foros/showthread.php?t=27532)

jorge_mosquera 23-11-2005 17:05:58

Mejor apariencia para un DBGRID
 
Delphi 5 Enterprise
Firebird 1.5
IBX 5.04

Quisiera mejorar la apariencia de mis grids, desplegando algunas filas de un color y otras de otro, por ejemplo, las lineas impares con fondo amarillo, las pares en fondo blanco. Si no tengo ningun campo sobre el dataset para preguntar si es par o impar, como hago esta implementacion ?

Muchas gracias :cool: .

jhonny 23-11-2005 17:21:15

Cita:

Empezado por jorge_mosquera
par o impar, como hago esta implementacion ?

Código Delphi [-]
if (Numero mod 2)=0 then
//Es par
else
//Es Impar;

jachguate 23-11-2005 17:24:28

Podes valerte del evento OnDrawColumnCell del grid en cuestión.

Hasta luego.

;)

jachguate 23-11-2005 17:26:09

Cita:

Empezado por jhonny
Código Delphi [-]
if (Numero mod 2)=0 then
//Es par
else
//Es Impar;

Que tal la función odd?

Hasta luego.

;)

jhonny 23-11-2005 17:26:28

En el siguiente hilo Anunakis hizo una pregunta muy parecida a la tuya y en él hay varios enlaces mas que responden a lo mismo.

http://www.clubdelphi.com/foros/show...=pintar+DBGrid

jhonny 23-11-2005 17:31:36

Cita:

Empezado por jachguate
Que tal la función odd?

Copiado a mi libreta de apuntes :cool:

Neftali [Germán.Estévez] 24-11-2005 12:28:26

Si quieres probarlo en mi Web hay un componente llamado: TCustomizeGrid;
A parte de otras cosas te permite hacer lo que necesitas (líneas alternativas en el Grid);

Basta con soltarlo en un formulario y conectarlo al DBGrid y activarlo; Él se encargará del repintado. Tienes una propiedad llamada AlternateRows para configurar lo que necesites (colores, estilos,...).

NOTA: Está en fase de construcción, pero esa parte está disponible y funciona bien. De todas formas si tienes algun problema me lo puedes comentar; Cualquier sugerencia, problema,... será bienvenido.

Cabanyaler 24-11-2005 13:02:30

Hola Neftalí, quizá sea tu componente mi solución.
Quiero hacer esto :

http://www.clubdelphi.com/foros/showthread.php?t=27536

Y he utilizado tu componente, pero no me pinta los diferentes colores haciéndole este código
Código Delphi [-]
procedure TFLibroNegro.CustomizeGrid1PaintRow(DS: TDataSet;
  var RowColor: TColor; var ChangeColor: Boolean);
begin
    if (NumSubObr_ant <> RxDBGridLibNegro.Fields[1].Value) and (RxDBGridLibNegro.Canvas.Brush.Color = clinfoBk) then
         RxDBGridLibNegro.Canvas.Brush.Color := clSkyBlue;
    NumSubObr_ant := RxDBGridLibNegro.Fields[1].Value;
end;

He asociado al Componente dicho RxGrid, el DefaultDrawing a True, y chico ... nada.
¿me falta algo?
Un saludo y gracias.

Neftali [Germán.Estévez] 24-11-2005 13:31:00

Cita:

Empezado por Cabanyaler
Hola Neftalí, quizá sea tu componente mi solución.

Creo que no; Con éste componente lo que obtienes son líneas alternativas.
Es algo que se utiliza a manudo para faciltar la lctura, por ejemplo.

Lo que piden: ...las lineas impares con fondo amarillo, las pares en fondo blanco.

Algo similar a lo que se ve aquí (son imagenes web, pero para que te hagas una idea):
http://www.oreilly.com/catalog/coldf...r/pcf_1101.gif
http://www.phpgrid.com/grid/ss/images/main.jpg

Cabanyaler 24-11-2005 15:37:07

Si, está claro. Si encuentro como hacerlo ya publicaré hilo.
Mientras si alguien más puede decirme algo se lo agradecería.
Gracias y un saludo.

roman 24-11-2005 17:02:47

Neftali, ¿y cuando publicas tu componente TViajeEnElTiempo? Me llama la atención que los útimo ejemplos en tu página tienen fechas como 21/12/2005, 17/12/2005, 16/12/2005. ¡Yo que aún no compro los regalos y la navidad ya está aquí!

// Saludos

Neftali [Germán.Estévez] 24-11-2005 17:19:05

Deben ser las ganas que tengo yo de que llegen las vacaciones de Navidad...:D:D:D

Corregido.
Thks.

Cabanyaler 24-11-2005 17:44:24

Desisto, tiro la toalla. :mad:

Como diría Tarantino : - Llebo todo el pu#o día con esta jod#*a mier+# y no me funciona.

Ya lo curraré de otro modo.
Gracias y un saludo a todos los que habéis intentado ayudarme. ;)


La franja horaria es GMT +2. Ahora son las 16:27:04.

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