Hola Jose, hay dos formas de ordenar.
De esta forma:
Código Delphi
[-]
ClientDataset.IndexFieldNames := 'NUMERO';
ClientDataset.IndexFieldNames := 'NUMERO;CODIGO';
pero solo hace la ordenación ascendente.
Y de esta otra forma, que si toma en cuenta cuando quieres ordenarlo desendente.
Código Delphi
[-]
ClientDataset.IndexDefs.Clear;
ClientDataSet.AddIndex(NombreDelIndice, CampoOCamposAOrdenar, Opciones(ver ayuda), CampoOCamposAOrdenarDesendente);
ClientDataSet.IndexName := NombreDelIndice;
Si quieres que sea ascendente, omites el ultimo parametro, puedes ver mas en la ayuda sobre esta opción.
Saluditos