IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Tri sur colonne DBgrid lié à une TTable


Sujet :

Bases de données Delphi

  1. #1
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut Tri sur colonne DBgrid lié à une TTable
    Salut

    J'aimerai ajouter un tri lorsqu'on clique sur le titre sur les titres de colonne donc mon DBgrid lié à une Table.

    J'ai trouvé ce post : http://www.developpez.net/forums/vie...ght=tri+dbgrid

    par contre certains points sont vraiment flous pour moi

    J'ai bien compris qu'il fallait utiliser onTitleClick mais après je ne sais pas comment appliquer un filtre de tri à ma table sur cet évènement et surtout comment récupérer la colonne sur laquelle l'utilisateur a cliqué.
    Quelqu'un pourrait m'aider ?

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    bonjour,
    Quand tu crées la procédure lié au onTitleClick tu as comme paramètre Column qui est un TColumn

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TMain.Grid1Click(Column: TColumn);
    Après pour récupérer la colonne sur laquelle l'utilisateur a cliqué il suffait de faire un truc du genre :
    Voila ++

    Vince

  3. #3
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    finalement j'ai fais avec un query plutôt qu'une table. Voilà ma procédure pour ceux que ca interresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    procedure TForm1.DBGlogjobTitleClick(Column: TColumn);
    var
       colonne : string;
    begin
         colonne := Column.Title.Caption;
         // on tri sur la colonne
         Qlogjob.disablecontrols;
         Qlogjob.sql.clear;
         if (colprec = colonne) then
         begin
              if (sens = 'ASC') then
                  sens := 'DESC'
              else
                  sens := 'ASC';
         end
         else
             sens := 'ASC';
         Qlogjob.sql.add('select * from LOG_JOB order by '+colonne+' '+sens);
         Qlogjob.open;
         Qlogjob.EnableControls;
         colprec := colonne;
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DBGrid & Tri par colonne à partir d'une ProcStock
    Par baptx dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/11/2013, 10h23
  2. Tri sur les valeurs d'une HashTable avec duplicats
    Par extenbrisadlucem dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 01/08/2008, 11h41
  3. Tri sur un DBGrid
    Par k_boy dans le forum Composants VCL
    Réponses: 4
    Dernier message: 21/01/2008, 12h56
  4. Réponses: 4
    Dernier message: 18/07/2007, 14h10
  5. [SQL] pagination et tri sur colonne
    Par digger dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/05/2007, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo