Salut,
j'ai associé un composant TTABLE à un DGGRID .Je veux quand on clique sur le titre d'une colonne de la grille (DBGRID) qu'il y ait un tri croissant ou decroissant de la grille selon cette colonne.
Salut,
j'ai associé un composant TTABLE à un DGGRID .Je veux quand on clique sur le titre d'une colonne de la grille (DBGRID) qu'il y ait un tri croissant ou decroissant de la grille selon cette colonne.
salut
suite à recherche sur google :
http://phidels.com/php/index.php3?pa...ip.php3&id=488
Désolé pas trouvé sur developpez
Sur ma web page tu trouveras un component (TExtendedGrid) qui descends de TRxDbGrid qui fait ça (et autres choses). Si tu veux, tu peux le prendre comme partie (il y a le code font)
La page est en espagnol mais, si tu ne comprends quelque chose, tu peux me le demander (mon français n'est pas très bon mais......)
Ma web page: www.clubdelphi.com/users/cadetill
tu met un filtre de ta table dans l'evenement OnTitleClick du DBGrid selon la colonne cliquée
Vous prposez de mettre un filtre sur l'evenement ontitleclick.
mais je voudrais savoir est ce que tu mettres un filtre dans l'evenement en precisant un tri ascendant ou descendant.
merci
salut
Je pense qu'il faudrait modifier le "ORDER BY" de ta requete en fonction de la colonne sélectionnée. Et pour savoir si c descendant ou ascendant tu peux garder en memoire la derniere colonne sélectionnée ou le dernier ordre de tri de chaque colonne (ascendant ou descendant) ou qqc dans le genre selon ce qui t'arrange le mieu.
Je rappelle que c'est pas une requete que j'ai liée au DBGRID ,j'ai liée un composant TTABLE donc impossible de réaliser un "ORDER BY".
Merci
salut
quant tuclique sur ta colonne tu fais
ttable.indexname := tonindex.
ton index doit être crée soit en ASCENDANT ou en DESCENDANT
Bon courage
Mika
www.usargancy.net
Bonjour,
J'utilise ceci pour trier un DBGRID avec un IBQuery (Tri sur le champ TITRE) :
Dans l'évenement OnTitleClick du DBGRID
Note : Cela implique de déclarer la variable Sens comme ceci pour la rendre accessible dans tous les UNITS du programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Tri colonne Grid1 ============================================ procedure TMain.Grid1Click(Column: TColumn); begin //SQL 1> DataModule.IBQuery1.DisableControls; 2> DataModule.IBQuery1.SQL.Clear; 3> DataModule.IBQuery1.SQL.Add('SELECT* FROM ' + MaTable + ' ORDER BY TITRE '+ Sens ); 4> DataModule.IBQuery1.Open; 5> DataModule.IBQuery1.EnableControls; 6> if (Sens = 'DESC') then 7> Sens := 'ASC' else Sens := 'DESC';// On inverse le sens pour le prochain click 8> end; //---------------------------------------------------------------
Et de la définir quelquepart, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public { Déclarations publiques } Sens: string ; // Stocke la valeur du tri (ASC / DESC) end;
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TMain.FormCreate(Sender: TObject); begin S := 'ASC'; end;
N1bus
N1bus
Modérateur Web / PHP / Oddo (ex OpenERP)
Aucune demande technique ne sera traitée par MP . Merci
Memento Technique OpenERP en français
Tutoriel OpenERP : Réalisation d'un module et modification du Point De Vente
PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager