Hola,
Quisiera que me ayudaran en lo siguiente:
Quiero colocarle color a los componentes que dependiendo de su fuente de datos verificar si son requeridos y colocarle un color diferente.
Estoy haciendo un ciclo donde busco en el datasource y verificando su propiedad required lo asigno a un memo para hacer pruebas y selecciona los que son, pero al asignarle el color es donde me lio. Quisiera hacer lo siguiente, si es factible, cuando encuentre el primer campo que sea requerido, inmediatamente buscar en el formulario el componente que este asociado al campo pero no se como hacerlo, la funcion de findcomponente no sabría como implementarla para esto. No se si me puedan ayudar. De todas formas dejo la inquietud para ver si sale alguna idea.
Gracias de antemano.
El codigo que utilizo es este, claro es una idea
Cita:
procedure TfrmDatos1.ColorCampoRequerido;
var
i, j: Integer;
begin
for i := 0 to DataSource.DataSet.Fields.Count - 1 do
if DataSource.DataSet.FieldDefs.Items[i].Required then
begin
memo1.Lines.Add(DataSource.DataSet.FieldDefs.Items[i].Name);
for j := 0 to ComponentCount - 1 do
begin
if Components[j].ClassNameIs('TDBEdit') then
begin
(Components[j] as TDBEdit).Color := clLime;
Continue;
end;
if Components[j].ClassNameIs('TDBMemo') then
begin
(Components[j] as TDBMemo).Color := clLime;
Continue;
end;
end;
end;
end;
|