Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2012
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Ordenar un DBGrid por columna

Hola a todos, he visto en internet y en este foro tambien como ordenan un DBGrid al hacer click en el titulo de la columna
Código Delphi [-]
procedure TForm13.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer); 
var   
  pt: TGridcoord; 
begin   
  pt:= DBGrid1.MouseCoord(x, y);    
  if pt.y=0 then     
    DBGrid1.Cursor:=crHandPoint   
  else     
    DBGrid1.Cursor:=crDefault;  
end;
y despues en el evento title click del DBGrid
Código Delphi [-]
procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
{$J+}
const PreviousColumnIndex : integer = -1; 
{$J-} 
begin
  if DBGrid1.DataSource.DataSet is TCustomADODataSet then
  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do 
  begin
    try
      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style := DBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];     
    except
    end;
    Column.title.Font.Style := Column.title.Font.Style + [fsBold];     
    PreviousColumnIndex := Column.Index;      
    if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then
      Sort := Column.Field.FieldName + ' DESC'
    else
      Sort := Column.Field.FieldName + ' ASC';   
  end;
end;
El esunto es que trabajo con Delphi 7, Paradox, Ttable y datasource, no con ADO, no se si se puede adaptar el codigo o le puedo agregar ADOtable?
Tambien encontre este codigo para reemplazar el anterior
Código Delphi [-]
Table1.IndexFieldNames:=Column.FieldName;
con la opcion de reemplazar IndexFieldNames por IndexName, pero me tira un error "Index does not exist..." se ve que debo crear el indice de las columnas o las tablas, como se realiza esto?
si alguien me puede ayudar le agradecere, de ultima si no se puede hacer esto en la columna, lo haria en un boton, como
Código Delphi [-]
procedure TForm17.Button2Click(Sender: TObject); 
begin 
  Query1.Close; 
  Query1.SQL.Clear; 
  Query1.SQL.Add('Select Codigo,Servicio,Importe'); 
  Query1.SQL.Add('From Table1 '); 
  Query1.SQL.Add('order by 2'); 
  Query1.Active:=true; 
  Query1.Open; 
end;
Que tampoco funciono

Última edición por Casimiro Notevi fecha: 25-11-2012 a las 19:26:49.
Responder Con Cita
 



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 STringGrid por más de una columna dandia28 OOP 3 05-07-2011 05:37:37
Ordenar un DBGrid por una columna por defecto JM75 OOP 2 04-05-2007 12:46:53
Ordenar TStoreProc al clickear columna en DBGrid Mauro.NET Varios 0 04-05-2006 17:28:18
Ordenar Listview por columna Coco_jac Varios 10 03-01-2006 19:03:20
Como ordenar un dbgrid segun la columna seleccionada pyanqn Varios 1 08-11-2005 15:59:41


La franja horaria es GMT +2. Ahora son las 02:28:06.


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