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

Langage Delphi Discussion :

Comparer contenu ListBox et DbGrid


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut Comparer contenu ListBox et DbGrid
    Bonjour,

    Je veux comparer le contenue d'un ListBox et d'un DbGrid. Une requête rempli une colonne dans un DbGrid. J'ai crée une liste dans ListBox.
    Je veux comparer les données affichées dans la DbGrid avec la ListBox. Si une ligne de la DbGrid est égale à une ligne de la ListBox, la ligne de la LisBox est supprimer, et ainsi de suite jusqu'à la fin de la DbGrid.
    Merci pour toutes contributions.

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    C'est pas très compliqué!

    Tu fais deux boucles imbriqués:
    - la première pour itérer sur tes enregistrements (une boucle while)
    - la seconde pour itérer sur ta listbox (une boucle for).

    Ensuite tu fais une simple comparaison, (un test if) et si les chaine sont égales, tu supprime la ligne correspondante de ta ListBox...

    Fait un essai, et poste ton code si jamais tu a un problème...

    Bon courage

  3. #3
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut
    J'ai apprise à faire des boucles avec des chiffres, mais jamais avec des DbGrid ou ListBox. Voici quelque chose, je sais que c'est pas fameux mais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    While DbGrid1.SelectedRows.Count > 0 do
                     begin
                       For i = 1 to listBox1.SelCount > 0 do
                           begin
                             if DbGrid1.SelectedRows = ListBox1.Items then
                                LisTbox1.Items.Destroy;
                           end;
                     end;

  4. #4
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonsoir,

    ton DBGrid se rempli à partir d'un Dataset, il te suffit donc de parcourir ton dataset, puis de boucler sur les lignes de ta listbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MonDataset.first;
    while not( MonDataset.eof) do
    begin
      for i := 0 to MaListBox.count - 1 do
      begin
        ..
      end;
     
      MonDataset.next;
    end;
    @++
    Dany

  5. #5
    Membre éclairé Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Par défaut
    Merci, mais ces lignes de mon code, pose problème. Pouvez-vous m'aider?.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if DbGrid1.SelectedRows = ListBox1.Items then
                                LisTbox1.Items.Destroy;
    Merci.

  6. #6
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonsoir,

    je mettais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if MonDatasetMonChamp.Value = MaListBox.Items[ i] then
      MaListBox.items.Delete( i);
    @++
    Dany

Discussions similaires

  1. Comparer contenu de 2 ListBox
    Par sondo dans le forum Langage
    Réponses: 12
    Dernier message: 18/02/2009, 10h46
  2. Exporter le contenu d'un DBGrid dans un Memo
    Par Poisson Rouge dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/08/2006, 15h07
  3. Imprimer le contenu d'un DBGrid
    Par kj_83 dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/07/2006, 18h12
  4. comment copier le contenu d'un dbgrid dans un richedit?
    Par altadeos dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/04/2006, 12h15
  5. [VBA-E]comparer contenu textbox et cellule
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 21/02/2006, 13h43

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