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

C++Builder Discussion :

Affichage ds une DBGrid


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Points : 18
    Points
    18
    Par défaut Affichage ds une DBGrid
    Bonjour,

    Je souhaite afficher une liste d'enregistrements.
    J'ai pensé a utiliser le controle DBGrid, qui me permet d'afficher tous les enregistrements de ma table.
    Or, je cherche un moyen d'afficher les enregistrement, mais suivant des critères (par exemple, afficher que les records qui ont le field COMPTEUR à 2)
    Une idée ?

    Cordialement,

    Matthieu.

  2. #2
    Membre habitué
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    salut,

    directement dans une requête:
    la requête comportera ton filtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select machin, bidule
    from matable
    where machin=truc
    and bidule>5
    donc les résultats apparaitront déjà filtrés dans le dbgrid

    à partir d'une requête ou d'une table:
    là, il faut appliquer le filtre sur le dataset (dont dépend le datasource attaché au dbgrid)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DBGrid->DataSource->DataSet->Filter="machin=truc and bidule>5";
    DBGrid->DataSource->DataSet->Filtered=true;
    si ton filtre est personnalisable (exemple: tu poses des TEdit pour "machin" et "bidule"), le code change un peu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DBGrid->DataSource->DataSet->Filter="machin="+QuotedStr(EditMachin->Text)+"and bidule>"+EditBidule->Text;
    DBGrid->DataSource->DataSet->Filtered=true;
    (en admettant que machin est du type caractère et bidule du numérique)
    N'oubliez pas le tag .

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Merci pour la réponse.
    J'ai reussi à executer ma requete SQL dans ma DBGrid. Je l'ouvre une première fois, et tout est ok. J'ajoute avec du code un enregistrement dans ma table, et quand je recharge ma form, la DBGrid n'est pas mise à jour avec les nouvelles valeurs de la table. Il faut que je ferme l'appli et que je la relance pour que ca soit pris en compte.
    Tu sais comment y remédier ?
    Merci,

    Matthieu.

  4. #4
    Membre habitué
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Points : 141
    Points
    141
    Par défaut
    il faut que tu ré-éxecutes ta requête car la dbgrid affiche les résultats de l'éxecution précédente.
    ceci devrait le faire (pour TADOQuery)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TADOQuery->Close;
    TADOQuery->Open;
    pas besoin de ré-éditer ta requête, du moins je pense, vu que c'est la même.

    cela va donc récupérer les résultats (avec tes changements), qui sont envoyés au datasource puis affichés dans la dbgrid.

    tu peux ajouter un TDBNavigator sous la TDBGrid (en lui mettant le même datasource que la dbgrid) pour complèter l'accès au données de la dbgrid (premier enr., précédent, suivant, dernier enr., insérer, modifier, supprimer...)
    N'oubliez pas le tag .

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Points : 18
    Points
    18
    Par défaut [Résolu]
    Merci bien

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

Discussions similaires

  1. Affichage dans une DBGrid
    Par CharleLéo dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/06/2008, 17h10
  2. Affichage limite dans une DBGrid
    Par k_boy dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/02/2008, 11h09
  3. affichage dans une DBGrid
    Par socooooool dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/06/2006, 16h11
  4. Affichage selon une condition dans un DBGRID !
    Par obon dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/04/2006, 09h26
  5. DBGrid: formatage de l'affichage d'une colonne
    Par SAca dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/05/2004, 17h33

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