Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2004
micopato micopato is offline
Registrado
 
Registrado: feb 2004
Posts: 1
Poder: 0
micopato Va por buen camino
componente rejilla ordenable por etiqueta

¿Alguien sabria decirme si existe un componente que sea una rejilla y que se pueda ordenar cuando pulsas sobre la etiqueta de la columna?. Perdonad si no me he explicado bien o si no es aqui donde he de poner esto, es mi primera vez

Gracias.
Responder Con Cita
  #2  
Antiguo 19-02-2004
Tanix Tanix is offline
Miembro
 
Registrado: may 2003
Ubicación: Currando... :-(
Posts: 53
Poder: 21
Tanix Va por buen camino
Buenas, si no recuerdo mal en Delphi 7 viene el componente ClientDataSet, que me han comenatado que sirve para lo que tu necesitas. Aunque te digo que nunca lo he probado ni se como funciona... Salu2.
__________________
La suerte favorece a una mente preparada...
Responder Con Cita
  #3  
Antiguo 19-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Veamos, que yo sepa, no hay ningún Grid que haga lo que tu pretendes. Lo que sí que hacen algunos grids es mostrar una marca de ordenación sobre la columna que se ha pulsado. Luego, tu, internamente te has de molestar en hacer la ordenación de tu tabla.

Encontrarás componentes free y de pago que te lo hacen. Unos Grids muy potentes de pago son los TopGrid de la casa objectsight, pero si te conformas con menos, el Grid que viene con las RxLib (free) también es capaz de hacerte esto. Si quieres las RxLib o una demo de cómo hacerlo, visita mi web (ver firma). El tema de ordenar el Dataset asociado, ya te lo dejo a ti (porque todo dependerá del tipo de Dataset "enganchado" al grid)

Por cierto, Tanix, el TClientDataSet está en Delphi desde la versión 3 como mínimo
Responder Con Cita
  #4  
Antiguo 19-02-2004
Tanix Tanix is offline
Miembro
 
Registrado: may 2003
Ubicación: Currando... :-(
Posts: 53
Poder: 21
Tanix Va por buen camino
Creo que con lo que yo comente se puede hacer... Claro que tendras que programar el grid... eso se me olvido comentarlo, pero creo que con el clientdataset se puede hacer... Si encuentro algun codigo lo hare saber... salu2...
__________________
La suerte favorece a una mente preparada...
Responder Con Cita
  #5  
Antiguo 19-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Cita:
Empezado por Tanix
...creo que con el clientdataset se puede hacer...
Yo no he negado eso, de hecho, con cualquier dataset se puede hacer (costando más o menos) sólo explicaba que no hay ningún Grid que yo conozca que te haga directamente la ordenación, que hay que teclear código

Última edición por __cadetill fecha: 19-02-2004 a las 16:15:37.
Responder Con Cita
  #6  
Antiguo 19-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Si si si, con el tclientdatast se puede lograr. Otra forma sería utilizar las rxMemoryData que tienen un método propio de ordenación. Cualquiera de las dos formas con un rxDBGrid te sobra para hacer el ordenamiento por columna.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #7  
Antiguo 19-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Supongo que quienes apoyan la tesis de los clientdatasets se refieren al hecho de que para ordenar por una columna basta asignar a la propiedad IndexName el nombre del campo aun cuando no existan índices para dicho campo en la base de datos. Dado que el clientdataset almacena todos los datos en memoria, la ordenación es mucho más rápida que con otros datasets con los que reordenar signifique, posiblemente, ejecutar una consulta sql nuevamente. Pero hay que tener cuidado con los clientdatasets en el sentido de que si las consultas arrojan muchos resultados, la carga inicial será lenta.

Lo que también es cierto es que aún con esto el grid no ayuda mucho ya que hay que programarle que dibuje la flechita indicadora y para esto, el RXDbGrid que indica cadetill es mejor.

// Saludos
Responder Con Cita
  #8  
Antiguo 19-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
De hecho yo utilizo el TClientDataset en conjunto con un RXDbGrid para utilizar la propiedad packetrec del mismo y limitar los resultados. Eso de crear índices al vuelo realmente fue una buena idea por parte de sus creadores.

Hasta el momento la máxima prueba que realizé fue de una tabla clientes con 9 campos y 10.000 registros desde una pc cliente y me dejo bastante satisfecho.

Los rxMemoryData quizás me funcionaron significativamente más rápido pero presentaron errores en su implementación.
__________________
Suerte
.: Gydba :.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:21:46.


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
Copyright 1996-2007 Club Delphi