IndexName en ClientDataSet no vaa..
Hola a todos,
tengo un clientDataSet que lleno con informacion de una consulta, para representarlo que usado un JVDBGrid.
Necesito que el usuario pueda ver la informacion ordena por la columna que le interese por lo que he creado los indices de las columnas en tiempo de ejecucion mediante:
// nota cds=ClientDataSet
for i:=0 to cds.Fields.Count-1 do
if cds.fields[i].DataType<>ftBlob then
if cds.IndexDefs.IndexOf(cds.fields[i].FieldName)=-1 then
with cds.IndexDefs.AddIndexDef do begin
Name := cds.fields[i].FieldName;
Fields := cds.fields[i].FieldName;
Options:=[];
end;
despues cuando el usuario ha clic en una columna hago:
// nota cds=ClientDataSet
// nota c=JVDBGrid
i:=cds.IndexDefs.IndexOf(field.FieldName);
if (i<>-1) then begin
cds.IndexDefs.Delete(i);
with cds.IndexDefs.AddIndexDef do begin
Name := field.FieldName;
Fields := field.FieldName;
if c.sortMarker=smUp then options:=[]
else Options:=[ixDescending];
end;
cds.IndexFieldNames:= field.FieldName;
end;
el problema es que no ordena de forma descendiente los registros...
¿Sabeis por que???
gracias,
david.
|