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 27-03-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Grid ordenable?

Hola,

Tengo una aplicación que usa unos cuantos (10 o 12) TDBGrid. Un problema que veo es que por defecto el TDBGrid no ordena los resultados cuando se hace click en el nombre de la columna, y los usuarios esperan que esto funcione de esta forma.

Podría modificar todos los DBGrid que tengo en el programa para añadir esta funcionalidad, pero creo que es "un rollo". Y además, seguro que existe algún componente que ya lo tenga todo incorporado.

¿Voy equivocado? O sea, ¿existe algún componente Grid, preferiblamente gratuito (de las JVCL, por ejemplo), que tenga implementado la ordenación segun se pulse el título de las columnas?

Muchas gracias,

Marc
Responder Con Cita
  #2  
Antiguo 27-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola,

no se si habrá algún componente de tipo Grid que te ordene automáticamente las columnas pinchando en los títulos. Yo te pongo un ejemplo simple de como podrías hacer la ordenación pinchando en los títulos.

Código Delphi [-]
procedure TFrmMenuArt.DbGrid1TitleClick(Column: TColumn);
begin
AdoQuery1.Close;
AdoQuery1.SQL.Text:='SELECT * FROM tutabla ORDER BY '+DBGrid1.Columns[column.Index].FieldName +' ASC';
AdoQuery1.Open;
end;

Espero que te sirva de algo.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #3  
Antiguo 27-03-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado mcs :

Este código permite ordenar los DBGrid al hacer click en el título. Es para ADO pero lo puedes adaptar a tu BD,

Código Delphi [-]
procedure Form1.DBGrid1TitleClick(Column: TbsColumn);
begin
if DBGrid1.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(DBGrid1.DataSource.DataSet) do
if (Pos(Column.FieldName, Sort) = 1) and (Pos(' ASC', Sort)= 0) then
begin
Sort := Column.FieldName + ' ASC';
end
else
begin
Sort := Column.FieldName + ' DESC';
end;
Indice := Column.Index;
end;

Salu2
Responder Con Cita
  #4  
Antiguo 27-03-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
ElDioni, Radenf,

Gracias por vuestras sugerencias, y me guardo este código. Pero la verdad es que esto es lo último que quiero hacer, tener que añadir un código a cada grid que tenga el el programa. Pero bueno, si no encuentro ningún grid que lo haga automáticamente, es lo que haré.
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
insertar registro en un grid que esta en otro grid @-Soft SQL 7 20-02-2008 17:22:42
conectar un grid o un db grid a un query douglas Conexión con bases de datos 24 31-10-2007 14:45:49
Transpaso de información de Grid a Grid Nelly Varios 1 18-04-2007 08:06:28
la computacion grid en accion - world community grid nightynvid La Taberna 0 04-01-2007 17:33:44
componente rejilla ordenable por etiqueta micopato Varios 7 19-02-2004 17:59:35


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


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