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 :

chercher le contenu d'un EDIT dans la colone d'un STRINGGRID


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut chercher le contenu d'un EDIT dans la colone d'un STRINGGRID
    bonjour


    je voulais savoir est-ce qu'il et possible de verifier si le contenu d'un edit1->text existe dans une stringgrid...

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Il te suffit de faire un double boucle sur ton TStringGrid (sur les colonnes et les lignes) et tu compares le contenu de la case trouvée avec le contenu de ton Edit.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    bin se que je veut faire ses la choses suivante, entrez une valeur dans un edit1->text, et vérifier s'il existe dans la premiere colone du tableau, si l'enregistrement existe, il l'affiche....


    please, help, me, ....


    quelqu'un aurez t'il un source.???

  4. #4
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i = 0; i < StringGrid1->RowCount; i++)
    {
        if(Edit1->Text == StringGrid1->Cells[0][i]) ShowMessage("Element trouve !");
    }

  5. #5
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    j'ai deja fais se test et sa fonctionne, moi se que je veux, ses que s'il et existant dans la StringGrid1, et bien qu'il le surligne... ??? et sa j'y arrive pas ....!!!

  6. #6
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    ça dans le .h :
    dans le code OnDrawCell de StringGrid1 :

    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
    23
    24
    25
    26
     
    TColor bgColor; // Couleur de fond
    TColor fontColor; // Couleur du texte
     
    if(ARow == ligne) // Ligne a colorier
    {
        bgColor = TColor(0x003f40d4);
        fontColor = clWhite;
    }
    else // Couleur des autres lignes
    {
        bgColor = clWhite;
        fontColor = clBlack;
    }
     
    // Creons la couleur de fond + la couleur du texte
    // Il faut s'assurer que la cellule n'appartient pas a la 1ere ligne
    if (ARow != 0)
    {
         StringGrid1->Canvas->Brush->Color = bgColor;
         StringGrid1->Canvas->FillRect(Rect); // Colore le fond de la cellule
         StringGrid1->Canvas->Font->Color = fontColor; // Couleur du texte a afficher
    }
     
    // Ecrivons maintenant le texte
    StringGrid1->Canvas->TextOut(Rect.Left + 2, Rect.Top + 3, AnsiString(StringGrid1->Cells[ACol][ARow]));
    sur un boutton ou autre :

    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
     
    int i;  // Pour parcours de la boucle for
    bool element_trouve = false; // reste a false si pas d'element de trouve
     
    for(i = 1; i < StringGrid1->RowCount; i++)
    {
            if(Edit1->Text == StringGrid1->Cells[0][i])
            {
                ligne = i; // la ligne a colorier
                element_trouve = true;  // l'element est trouve
            }
    }
     
    if(!element_trouve) ligne = -1; // si l'element n'est pas trouve, on ne colore aucune ligne
    StringGrid1->Repaint();  // Actualisation du tableau

  7. #7
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    merci ac/dc, mais maintenant le soucie et que dans ma propriété OnClick du stringgrid1 mon code ne fonctionne plus...

    ton code et nickel mais il faut que si je clique directement sur une ligne dans le stringgrid, il me la surligne.... ???


    merci d'avance

  8. #8
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,
    Il faut rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (State.Contains(gdSelected))
    {
    //on souligne le texte
    }
    dans le OnDrawCell

    @ +

  9. #9
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    dans le OnClick :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligne = ARow;
    StringGrid1->Repaint();
    normalement ça devrait le faire .....

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

Discussions similaires

  1. Comment copier le contenu d'un Edit dans un autre Edit ?
    Par petitclem dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/04/2009, 16h12
  2. enregistrer le contenu d'un Edit dans un fichier texte
    Par tapouni dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2008, 23h02
  3. Réponses: 3
    Dernier message: 29/02/2008, 12h41
  4. Copier le contenu d'un Edit dans une nouvelle Form
    Par breizh44 dans le forum Débuter
    Réponses: 16
    Dernier message: 20/02/2008, 22h54
  5. Enregistret le contenu d'un edit dans un fichier text
    Par prison_break dans le forum C++Builder
    Réponses: 19
    Dernier message: 02/01/2007, 13h55

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