Ver la Versión Completa : Colorear fila dbgrid
Besto
28-12-2009, 22:56:33
Hola,
he mirado por los foros y lo que encuentro no me funciona.
Quiero colorear una fila de dbgrid pero tengo la propiedad dgEditing a true y dgRowSelect a false.
Lo que he encontrado me colorea una celda, pero yo quiero colorear toda la fila.
Si alguien sabe la solución lo agradecere infinito.
Gracias
oscarac
28-12-2009, 23:55:36
facil
puedes hacer esto
dependiendo de una condicion de la fila
te ubicas en DrawColumnCell
const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
begin
if Column.Field.Dataset.FieldbyName('CAMPO').AsString = Condicion
then
if (gdFocused in State)
then dbgPlanilla.canvas.brush.color := clBlack
else dbgPlanilla.canvas.brush.color := clPaleGreen;
//Esta línea es nueva
dbgPlanilla.DefaultDrawColumnCell(rect,DataCol,Column,State)
espero te sirva
Besto
29-12-2009, 18:00:37
Gracias oscarac, pero eso es lo que intente y solo me colorea una celda, lo que necesito es colorear o cambiar la fuente, me da igual, toda la fila.
Yo creo que el problema viene porque hay un par de campos que son editables, por lo que dgEdit esta a true y dgRowSelect está a false.
oscarac
29-12-2009, 20:40:39
estas seguro?
yo acabo de colocar los mismos valores a las propiedades que mencionas y funciona bien
Besto
01-01-2010, 22:20:04
Has puesto un dbGrid con las siguientes propiedades a true:
dgEditing,dgTitles,dgColLines,dgRowLines,dgAlwaysShowSelection,
dgConfirmDelete,dgCancelOnExit
el resto a false,
Has puesto la funcion que mandaste y te cambia toda la fila, no solo el campo en el que estas?
Porque a mě no hay forma, solo me funciona si cambio y quito el dgEditing lo pongo a false y el dgRowSelect a true.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.