PDA

Ver la Versión Completa : modificar propiedades de un componente dentro de un dbctrlgrid


gica1815
28-08-2006, 12:47:30
tengo un dbctrlgrid asociado a un ttable y un componente dbedit asociado a un campo de ese ttable, dependiendo de el valor que haya en cada registro de la tabla quiero que el fondo del dbedit cambie de color ¿como puedo hacerlo? o dicho de otra forma como puedo cambiar las propiedades de los componentes incluidos en un dbctrlgrid dependiendo del valor que tengan asociado en cada registro

Bicho
28-08-2006, 13:13:59
Ya es casualidad, hace un rato han preguntado algo muy parecido (http://www.clubdelphi.com/foros/showthread.php?t=34986):

así que tanto si miras el link anterior o este que te pongo la respuesta es la misma.

Aquí (http://www.clubdelphi.com/foros/showthread.php?t=16818) puedes revisar la respuesta de Neftali.

Espero te sirva

Saludos

gica1815
28-08-2006, 17:57:03
gracias por tu aclaracion

roman
28-08-2006, 19:13:36
Hola, lo que gica1815 pregunta aquí no es lo mismo que se pregunta en el hilo mencionado. Allás se habla de un DBGrid y aquí de un DBCtrlGrid.

Para un DBCtrlGrid podrías intentar con el evento OnPaintPanel:


procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
begin
if Table1.FieldByName('salary').AsFloat >= 40000 then
DBEdit.Color := clYellow
else
DBEdit.Color := clWindow;
end;


Sin embargo, aunque parece funcionar, tiene un problema con el panel que tenga el foco: no siempre pinta el color adecuado hasta que no hacemos click en él.

// Saludos

gica1815
28-08-2006, 19:50:07
gracias ciertamente era eso lo que buscaba