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

 Delphi Discussion :

comment obtenir un dbgrid trié


Sujet :

Delphi

  1. #1
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut comment obtenir un dbgrid trié
    bonjour tout le monde,

    voila j'aimerais savoir comment faire pour avoir aprés une recherche par exemple les résultats dans mon dbgrid trié du plus récent(lors de son insertion dans la table) vers le plus ancien

    merciiiiiiiii

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut

    il suffit que ta requête soit du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select * From taTable
    Order by Date_recrutement dsc
    j'ai supposé que ta table a un champ date Date_recrutement tu peux le remplacer à ta guise pourvu que le DBGrid soit rattacher au bon ensemble de données.

    Bonne chance.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    salut just;
    je pense que ça ce que elle veux
    plus récent(lors de son insertion dans la table) vers le plus ancien
    donc normalement c'est en fonction de numéro d'enregistrement.

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    +1 sam83 faut me pardonner je suis enrhumé ! mais dans tout état de cause elle doit ajouter le mot clé desc dans sa requête puisqu'il est fait pour ça...

    pardon encore une fois et merci à toi sam83.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    y a aucun souci just pour moi tu est tj le meilleur
    @lila si ta table contient un champ auto-incrémenté tu peut ordonné ta requête sur ce champ sinon il suffit de créer un et son qu'il soit affiché dans votre dbgrid

  6. #6
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    bon rétablissement just soft !!!
    DESC se palce ou dans la requete ???
    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
     
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add(' select * from mouvement where code='''+edit11.Text+''' and type_mouv='''+edit2.Text+''' ');
    query1.Open;
    if (query1.Recordcount=0) then
    showmessage('La recherche na donnée aucun résultat !')
    else
    begin
    dbgrid1.Visible:=true;
    query1.First;
    while not query1.eof do
    begin
    query1.Next;
    end;
    end;
    merci a vous deux

  7. #7
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    merci.

    normalement là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    query1.SQL.Add(' select * from mouvement where code='''+edit11.Text+''' and type_mouv='''+edit2.Text+'
    'Order by tonChamp Desc''');
    remplace tonChamp par le champ responsable du tri; par exemple si tu veux les afficher par ordre chronologique et ton champ s'appelle date_MAJ alors tu fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    query1.SQL.Add(' select * from mouvement where code='''+edit11.Text+''' and type_mouv='''+edit2.Text+' 
    'Order by date_MAJ Desc''');
    @lila23 : faut faire des essais et ne jamais oublier la touche F1 et la FAQ.

    Bonne chance

  8. #8
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    showmessage('La recherche na donnée aucun résultat !')
    par ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    showmessage('La recherche n''a donné aucun résultat !')

  9. #9
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    merci just soft pour ta réponse et je n'oublie pas la faq et l'aide de delphi mais cette derniére est en anglais alors je comprend pas bien et puis j'essaye d'appliquer parfois quand je trouve mais ca marche pas surtout la syntaxe

    merci issam pour ta remarque pour le showmessage et enfin merci chh pour le lien je vais essayer de tout lire!!!!

    heuresement que vous etes la!!!!

  10. #10
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    lila
    t as lue ma réponse

  11. #11
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    vous parlez du champ incrémentable non j'en ai pas un et je ne veux pas en créer un je sui deja assez perdu avec cette appliaction je veux pas me perdre encore plus!!!!

    merci samy

  12. #12
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    lila tu veux trié ton dbgrid suivant l'ordre d'insertion c'est. et les données affiché dans cet DBGrid sont le résultat d'une requête SQL. donc je pense qu'il te faut un champ auto-inc pour connaitre l'ordre d'insertion non ?

  13. #13
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    je veux essayer de m'en passer car j'ai des dates ma table donc je vais essayer d'ordonner mes enregistrements d'aprés une date !!!

  14. #14
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Points : 204
    Points
    204
    Par défaut
    Citation Envoyé par lila23 Voir le message
    je veux essayer de m'en passer car j'ai des dates ma table donc je vais essayer d'ordonner mes enregistrements d'aprés une date !!!
    mais là tu va pas obtenir ce que tu veux car il peut avoir deux insertion dans la même date

  15. #15
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    non pas pour un employé et pour un de ces mouvment genre congé absence !!! c'est gentil a vous vous pensez au moindre détail pour m'aider merci

  16. #16
    Membre régulier Avatar de chh2008
    Inscrit en
    Mars 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2008
    Messages : 129
    Points : 106
    Points
    106
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TPrincipal.DBGrid1TitleClick(Column: TColumn);
    begin
      if Table.IndexFieldNames <> '' then
         DBGrid1.Columns[data.Personnel.FieldByName(
         Table.IndexFieldNames).Index].Title.Color :=
         DBGrid1.fixedColor;
      if not (Column.Field.DataType in [ftBlob,ftMemo]) then
        begin
          Table.IndexFieldNames := Column.FieldName;
        end;
    end;

  17. #17
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    dsl pour mon ignorance mais chh2008 je n'ai pas bien saisi votre code!!!

    merci

  18. #18
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    je vais essayer de le commenter espérant que j'y arriverais à quelque chose:

    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
     
    procedure TPrincipal.DBGrid1TitleClick(Column: TColumn);
    begin
      // si l'index n'est pas vide donc la table a déjà un index 
      //en cours d'utilisation 
      if Table.IndexFieldNames <> '' then
         // on récupére la couleur de la colonne fixe 
         //et on la transmet à la colonne à trier 
         DBGrid1.Columns[data.Personnel.FieldByName(
         Table.IndexFieldNames).Index].Title.Color :=
         DBGrid1.fixedColor;
      // si le type de champ à trier et autre que Blob ou Memo, 
      //logique non pas de tri sur des memo et blob
      if not (Column.Field.DataType in [ftBlob,ftMemo]) then
        begin
          // index en cours doit être la colonne à trier
          Table.IndexFieldNames := Column.FieldName;
        end;
    end;
    espérant toujours que c'est ça mais Lila23 la seule chose qui permet de savoir si ce code peut te satisfaire c'est de l'essayer....

    Bonne chance.

  19. #19
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    ah enfin just soft vous etes la!!!

    oui c'est vrai j'aurais du essayer mais comme je ne l'ai pas bien compris je me suis dit que c'était pas ce que je cherché !!

    moi je veux avoir aprés la recherche avoir l'enregistrement le plus récent lors de son insertion dans la table vers le plus anciens!!!

    merciiiiii

  20. #20
    Membre régulier Avatar de chh2008
    Inscrit en
    Mars 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2008
    Messages : 129
    Points : 106
    Points
    106
    Par défaut
    il te suffit de mettre un compteur qui s'incremente a chaque insertion puis de trier ta table suivant se compteur.

Discussions similaires

  1. comment obtenir un polynome de regression
    Par evariste_galois dans le forum Mathématiques
    Réponses: 17
    Dernier message: 19/01/2007, 15h06
  2. Comment obtenir le nom d'un pc sur un réseau?
    Par Depteam1 dans le forum MFC
    Réponses: 2
    Dernier message: 19/02/2004, 10h17
  3. Réponses: 5
    Dernier message: 18/01/2004, 16h25
  4. Comment obtenir l'heure du serveur avec flash ?
    Par Michaël dans le forum Flash
    Réponses: 9
    Dernier message: 23/12/2003, 17h50
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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