Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Agrupar ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=75339)

jlrdz 15-08-2011 21:52:21

Agrupar ClientDataSet
 
Un saludo primero que nada, estoy empezando a trabajar con los ClientDataSet en el cual he creado ya los campos, la dataset, ya hice persistentes los datos y ya he podido almacenar información ahí, mi duda es sobre como agrupar por campos como se hace con mysql con el Group By campo, para que sólo me muestre un solo registro de tantos repetidos que pudiera haber, ya he encontrado un hilo sobre el tema aquí pero la verdad es que no me queda claro, busque información sobre algunas propiedades de los ClientDataSet pero no termino de entender, como ejemplo tengo los registros:

1 - juan - 19
3 - pedro - 12
5 - antonio - 40
1 - juan - 2

en esa información en el ClientDataSet quiero que no me seleccione los repetidos, que me muestre sólo una vez el registro y quedaría así por ejemplo

1 - juan - 19
3 - pedro - 12
5 - antonio - 40

¿Cómo puedo hacerlo?, de antemano muchas gracias y espero que puedan ayudarme ya que la verdad soy nuevo en esto del manejo de ClientDataSet, saludos. :cool:

oscarac 15-08-2011 21:56:28

mmmmmmmm
no se como haces el lenado de la informacion...
pero se me ocurre lo siguiente
que al momento de efectuar la grabacion hagas un locate al clientdataset para ver si existe el mismo codigo ya registrado

si no existe haces un append y si existe haces un edit y acumulas los datos

saludos

jlrdz 15-08-2011 21:59:02

Gracias por tu respuesta, intentaré eso que dices a ver que tal me funciona.

juanelo 15-08-2011 23:05:44

Creo que lo mas facil es que crees un indice con la propiedad de unico, de manera que al tratar de insertar una registro con una clave ya existente, te salte una exception.
Para realizar un "agrupamiento" lo que te sugiero que hagas es revisar los campos agregados y sus niveles de de grupo o lo que es lo mismo la propidad "grouping level".
Saludos.

jlrdz 15-08-2011 23:43:59

Eso mismo encontré en otro hilo sobre este tema y estoy buscando como poder hacerlo porque no había trabajado con estos clientdataset y pues aún no se como se hace aplicando esos campos y niveles pero seguiré investigand. Gracias por tu respuesta.

oscarac 15-08-2011 23:48:06

mmm me parece que esa caracteristica es para sumar todo el clientdataset (a menos que me equivoque y los quiebres se controle por el indice)

yo he utilizado lo mismo pero para sumar todo (seuo)


La franja horaria es GMT +2. Ahora son las 12:49:49.

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