Ver Mensaje Individual
  #1  
Antiguo 13-06-2005
Avatar de User_baja1
User_baja1 User_baja1 is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Reputación: 20
User_baja1 Va por buen camino
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.
Responder Con Cita