Hola a todos. se me presenta el problema trabajando con D 10.3.3
El tema ocurre solamente en FMX. Trabajando con VCL trabaja bien.
Tengo un dataset (de qualquier tipo) conectado a un grid (de cualquier tipo), haciendo click en el titulo de una columna esta se ordena por el campo correspondiente.
En VCL
procedure TForm2.DBGrid1TitleClick(Column: TColumn);
begin
qrySec.IndexFieldNames := Column.FieldName;
En FMX
procedure TManFarmaQry.StringGrid1HeaderClick(Column: TColumn);
begin
case Column.Index of
0:
if mtblMedica.IndexFieldNames = 'Field1' then
mtblMedica.IndexFieldNames := 'Field1' + ':D'
else
mtblMedica.IndexFieldNames := 'Field1';
1:
if mtblMedica.IndexFieldNames = 'Field2' then
mtblMedica.IndexFieldNames := 'Field2' + ':D'
else
mtblMedica.IndexFieldNames := 'Field2';
2:
if mtblMedica.IndexFieldNames = 'Field3' then
mtblMedica.IndexFieldNames := 'Field3' + ':D'
else
mtblMedica.IndexFieldNames := 'Field3';
En el caso de FMX, se observa un reacomodamiento de los registros que no se corresponde con nada, todo queda desordenado.
Estimo que dado que en ambos casos se usa Firedac el problema no radica ahí. Entonces existe un problema de sincronización en el bind.
Espero comentarios.
Felices Fiestas para todos.