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 06-04-2007
niñotaliban niñotaliban is offline
Miembro
 
Registrado: nov 2005
Posts: 13
Poder: 0
niñotaliban Va por buen camino
Ordenar datos en IBDataSet

Hola, quisiera poder ordenar las columnas de un dbgrid, buscando por este foro he encontrador algunas soluciones que me gustan pero todas hacen uso de ADODataSet y su propiedad Sort, la cuestión es que yo utilizo IBDataSet y en él no encuentro la propiedad Sort ni algo que se le parezca. Seguro que IBDataSet tiene alguna propiedad o metodo para ordenar pero la verdad es que no la encuentro.

Como me las arreglo para ordenar los datos en un IBDataSet??
Responder Con Cita
  #2  
Antiguo 06-04-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Hay que volver a ejecutar el IBDataSet, mediante un Close y Open correspondiente, y cambiar en la sentencia SQL el 'Order By' que deseas.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 06-04-2007
niñotaliban niñotaliban is offline
Miembro
 
Registrado: nov 2005
Posts: 13
Poder: 0
niñotaliban Va por buen camino
ok

aaaah ok! me suele suceder que me sumerjo buscano entre las propiedades y metodos de algun componente y se me olvida la de cosas que se pueden hacer directamente en la sentencia SQL, tan simple como hacer un ORDER BY jejeje

ahora mismo adapto el metodo para ordenar el dbgrid que mas me ha gustado y si funciona lo pongo aquí para que alguien lo encuentre rapido jejeje

grácias gluglu.
Responder Con Cita
  #4  
Antiguo 07-04-2007
niñotaliban niñotaliban is offline
Miembro
 
Registrado: nov 2005
Posts: 13
Poder: 0
niñotaliban Va por buen camino
bueno pues al final se me ha simplificado bastante el metodo, aquí lo dejo para contribuir un poquito.

bAsc es una variable global que utilizo como semáforo.
OrderBy és un string donde guardo la parte de la sentencia que su nombre indica.


Código Delphi [-]
procedure dbgBuscarTitleClick(Column: TColumn);
begin
inherited;
if (bAsc)then
begin
OrderBy := 'ORDER BY '+Column.DisplayName+ ' ASC';
end else
begin
OrderBy := 'ORDER BY '+Column.DisplayName+ ' DESC';
end;
LanzarSentencia;
bAsc:= not bAsc;
end;





LanzarSentencia es el encargado de montar las diferentes partes de la sentencia (select, from, where y orderby) y ejecutarla, es algo parecido a esto:


Código Delphi [-]
procedure LanzarSentencia;
begin
with IBDataPrincipal do
begin
Close;
SelectSQL.Clear;
SelectSQL.Add(Select);
SelectSQL.Add(From);
SelectSQL.Add(Where);
SelectSQL.Add(OrderBy);
Open;
end;
end;






...ya sé que tendria que hacer paso de parametros en vez de tanta variable global pero la cosa aún no está moldeada jejeje solo és funcional.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ordenar datos en un DBGrid jona-182 Conexión con bases de datos 3 30-03-2007 21:43:06
Como asigno los datos SQL a un IBDataSet Gigabyte1024 Conexión con bases de datos 2 03-02-2007 01:35:42
ordenar datos del DBGrid! kage_01 Tablas planas 1 02-07-2005 03:42:28
Ordenar datos de una tabla arieliten SQL 2 16-03-2005 15:32:48
Ordenar conjunto de datos Osorio Firebird e Interbase 1 15-10-2003 07:56:42


La franja horaria es GMT +2. Ahora son las 03:21:05.


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