![]() |
Colorear las lineas de un DBGrid
Hola a todos,
Mi pregunta es la siguiente: ¿Como puedo hacer para que un DBGrid me salgan sus lineas alternado el color, por ejemplo blanco y amarillo, para que genere el tipico efecto que sale en la mayoria de sitios. He probado en DBGrid1DrawColumnCell pero no se como especificar que si la linea es par sea blanca o impar amarilla ya que este evento es para las columnas y no las filas. Gracias de antemano |
Hola,
Esta búsqueda en los Foros ofrece, entre otros Hilos, este, este y este, que creo pueden echarte una mano. |
No me ha servido porque yo lo que busco es pintar las lineas y no las columnas, lo que busco es como saber si estoy en una linea par o impar de un DBGrid porque el pintar no es el problema sino la condicion esa.
De todos modos gracias por contestar y por la rapidez. |
El DBGrid de las JVCL tiene una propiedad AlternateRowColor y otra AlternateRowFontColor en donde defines que color quieres para las filas pares.
La dbgrid de SM tambien maneja colores alternados, incluso tiene varias combinaciones de colores ya definidas. En pocas palabras, con estos componentes no tienes que programar nada de código para tener el efecto que pides, solo hay que definir los colores en las propiedades. La dbgrid de sm es dos o tres compnenetes solamente y las JVCL se intala junto con un motón de componentes. Lo más rápido sería utilizar la de SM , pero yo utilizaría las JVCL ya que estoy seguro que tambien te podrán ayudar con más cosas. |
Ya conocia esos grids de las JVCL pero los de SM no. El caso es que, aunque tenga que programas me da igual, lo que pasa es que tengo un proyecto de mas de 60grids cada uno con sus propiedades y eventos asignados y no es plan de cambiar todo eso.
Yo habia pensado en un codigo que me lo pintase y asignarles a todo ese mismo procedimiento y asi me ahorro mucho trabajo. Gracias de todas formas, veo que hay gente que le pone interes a las dudas de los demas. |
Que tal Anunakis, yo tambien ya habia buscado esto que preguntas, y lo habia buscado tambien en los hilos que te enviaron, pero ahi no encontre nada, de cualquier manera aqui te envio la solución.
en el evento OnDrawColumnCell de tu dbgrid agrega este código:
y listo!!! ;) Saludos. Vicente López. |
Hola Chenter(Man), probé el codigo que me pusistes en cuanto pude pero no he conseguido hacerlo funcionar ya que siempre me hace el "else" de la condicion y por tanto me lo pone todo en blanco, salvo cuando el dbgrid no tiene registros y la primera fila (vacia) me sale en ese color azulillo.
Yo utilizo D7 con BDE, ¿tendrá algo que ver?. Lo probaré con ADO aver que tal. |
Efectivamente con ADO funciona a la perfeción, el fallo es que tengo todo el proyecto con BDE, jeje, y tendré asi como unas 40 50 tablas con su codigo especifico de BDE.
Seguiré probando cosas de todas maneras y alomejor el codigo que me as pasado lo puedo amoldar a BDE, si alguién sabe como hacerlo que me lo comente porfavor. Gracias |
Recuadrar líneas de un DBGrid
Mi problema es parecido, así que añado mi pregunta aquí.
Yo tengo esta función de coloreado de filas que funciona perfectamente: El problema es que ahora quieren cambiarlo: quieren que en lugar de colorear la fila entera sólo dibuje un recuadro en la fila, enmarcarla en lugar de rellenarla. Y no tengo ni idea de cómo hacerlo, lo que he intentado hasta el momento no me ha funcionado. ¿Alguien sabe cómo hacerlo o es imposible? Gracias de antemano. |
filas de diferentes colores
Hola Chicos, es mi primer y humilde aporte a vuestros bastos conocimientos sobre el tema.
Yo lo solucione asi: if (odd(TDBGrid(Sender).DataSource.DataSet.RecNo)=TRUE) and not (gdSelected in State) then begin TDBGrid(Sender).canvas.Font.Color:=clBlack; TDBGrid(Sender).canvas.Brush.Color:=clSilver; end; TDBGrid(Sender).DefaultDrawColumnCell(rect,DataCol,Column,State); Utilizo Delphi 5. Un abrazo y gracias por tantas soluciones para todos. |
La franja horaria es GMT +2. Ahora son las 13:09:22. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi