Buenos días a todos ustedes amigos,
Recurro nuevamente a Uds. por un problema que se que debería ser sencillo pero por esas cosas de la vida se me hace un mundo y me esta tomando bastante tiempo resolverlo.
Tengo una base de datos en SQL y mi aplicación la estoy desarrollando en XE8, utilizo componentes ADO y al realizó consultas simples de las Tablas, pero cuando las muestro en un dbgrid no puedo cambiar el formato de fechas, pero si el formato de números hasta un grado.
Ahora enlazo un ADoQuery con DataSource y este aun DbGrid, en el código donde trato de cambiar el formato me sale diferentes errores, algunas veces pasa sin error pero nunca cambia el formato, aquí les paso el primer código.
Código Delphi
[-]
Cad := 'select * from Guia ';
with self.CabeceraADOQuery do
begin
Close;
SQL.Clear;
SQL.Add(Cad);
ExecSQL;
Active := true;
Last;
end;
TDateTimeField(CabeceraADOQueryFecha.Value).DisplayFormat := 'DD/MM/YYYY';
Como verán he probado de todo pero nose por que detalle no funciona, también he agregado todas las columnas en el ADOQuery para ver si en cada columna podria salir por defecto el DisplayFormat, pero no es así.
También puse código en evento AdoQueryBeforeOpen - sin tener exito
Código Delphi
[-]
procedure TGuiaForm.CabeceraADOQueryBeforeOpen(DataSet: TDataSet);
begin
TDateTimeField(CabeceraADOQueryFecha.Value).DisplayFormat := 'DD/MM/YYYY';
end;
por ultimo también probé en el evento GetCellText con la misma mala suerte
Código Delphi
[-]
procedure TGuiaForm.ListaGetCellText(Sender: TObject; Field: TField;
var Text: string);
begin
if Field.FieldName='Fecha' then
(Lista.Columns[1] := StrToDate(FormatDateTime('DD/MM/YYYY',VarToDateTime(CabeceraAdoQuery.FieldByName('Fecha').AsVariant)));
end;
Amigos les pido me echen una mano con este problema, un fuerte abrazo para todos.
PD. Para el formato de numero solo puedo cambiarlo los decimales, pero las comas nose porque no acepta '0.00', cual seria el formato correcto (0,000.00) ó (#,###.##)