Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ordenación DBGRId (https://www.clubdelphi.com/foros/showthread.php?t=64631)

cmm07 11-04-2009 20:17:27

ordenación DBGRId
 
hola, pues tengo una duda que es dificil de explicar(eso creo), pues tengo un dbgrid y un clientdataset, ocupo esta instruccion:

Código Delphi [-]
        ClientDataSet1.Insert;
        ClientDataSet1CodProduct.Text:= Edit1.Text;
        ClientDataSet1NomProduct.Text:= Nombre;
        ClientDataSet1UMedida.Text:= UMedida;
        ClientDataSet1Precio.Text:= VUnitario;
        ClientDataSet1Desc.Text:= '0';
        ClientDataSet1Cantidad.Text:= '1';
        ClientDataSet1.Post;

pero al insertar siempre me inserta en la primera casilla, y yo quiero que me inserte al final el primero, osea la ordenacion invertida,

ejemplo: por defecto esta esto en el dbgrid:
Inserto DATO = 1,3,4,7,2,5
el dbgrid queda

DATOS
5
2
7
4
3
1

pero deseo que me insete invertido:

Inserto DATO = 1,3,4,7,2,5
el dbgrid queda

LOS DATOS DEBEN IR APARECIENDO COMO:
1
3
4
7
2
5

buxa nose si me explico bien??, desperte medio mal para explicar:D:D

Casimiro Notevi 11-04-2009 23:34:37

No sé con qué sistema de bases de datos trabajas, pero tienes 2 posibilidades, la 'buena' y la 'mala':
La 'mala', en lugar de 'insert' usa 'append', esto añade el registro al final
La 'buena', presenta los datos en el grid ordenados, así te da igual donde se inserten: 'select * from tabla order by elcampoquequieresordenar'

cmm07 12-04-2009 01:20:59

gracias, almenos sabes lo que deseo hacer, pero no estoy trabajando con SQL, estoy trabajando con tablas virtuales, asi que no me sirve ninguna instruccion SQL..

Gracias

diegofhernando 13-04-2009 14:42:25

... y si le creas un indice al CDS sobre el campo por el cual necesitas ordenar? :p

Caro 13-04-2009 17:03:21

Hola, para hacer ordenamientos en un clientdataset debes crearte un Indice, ya sea con IndexDefs o IndexFieldsName, este ultimo te hace solo el ordenamiento ascendente, ahora según tu ultimo ejemplo no esta ordenado, por lo que entiendo quieres que se te añada al final y para eso debes utilizar Append en lugar de Insert como te ha indicado Casimiro.

Saluditos

cmm07 14-04-2009 03:14:44

gracias por sus respuestas pero ya no necesito esta ordenación, pero muchas gracias.


La franja horaria es GMT +2. Ahora son las 11:33:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi