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

Autres IDE Pascal Discussion :

ComboBox et StringGrid


Sujet :

Autres IDE Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 92
    Points : 49
    Points
    49
    Par défaut ComboBox et StringGrid
    Bonjour,

    je souhaiterais afficher la valeur d'un items de Combobox inséré dans un StringGrid.
    C'est-à-dire j'ai rempli mon formulaire d'inscription, il s'insère dans mon stringgrid parfaitement.
    Le nom est un objet de sélection de différents choix (ComboBox1) et une deuxième Combobox2 pour les catégories.
    Lorsque je clique sur une ligne, il affiche correctement les informations que j'ai saisies dans mon formulaire afin de les modifier mais les champ des combobox eux, restent vides et n'affichent pas ce que je veux.
    Pouvez-vous m'aider s'il vous plaît ?
    Je vous fais donc part de mes deux ligne de code pour afficher les informations dans mes combobox, concernant la ligne que j'ai cliquée deux fois sur le stringrid avec un évênement OnDoublClick bien sûr (je précise que les cellules sont bien inscrites dans mon code).

    Merci de votre lecture ainsi que de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     form9.ComboBox1.Items[form9.ComboBox1.ItemIndex]:=StringGrid1.Cells[0,r];
    form9.ComboBox2.Items[form9.ComboBox2.ItemIndex]:=StringGrid1.Cells[2,r];

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Bonsoir,

    J'ai du mal à comprendre les éléments du problèmes. Cela dit, quand on veut ajouter un élément à Items d'une ComboBox, il faut utiliser la méthode Add :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    combobox1.Items.Add('ma chaîne');
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 92
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par gvasseur58 Voir le message
    Bonsoir,

    J'ai du mal à comprendre les éléments du problèmes. Cela dit, quand on veut ajouter un élément à Items d'une ComboBox, il faut utiliser la méthode Add :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    combobox1.Items.Add('ma chaîne');
    Oui, je le sais. Admettons que j'utilise 2 form.
    La Form 1 me permet de choisir un mot dans ma ComboBox, quand je cliquerai sur le bouton << Ajouter >> ce mot écrit dans cette ComboBox sera Transférer a ma StringGrid (qui est composé d'une seul colonne) qui se trouve dans ma Form 2 .
    Ensuite, imaginons que je souhaite modifier ce mot, il me suffira donc de cliquer 2 fois sur la cellule ou se trouve ce mot ( avec bien sur un événement DblClick ) qui me redirigera vers ma Form1 qui affichera automatiquement dans la ComboBox, le mot sélectionné.

    Voici ce que je n'arrive pas a faire :" Afficher automatiquement le mot de la cellule que nous avons cliqué 2 fois dans la ComboBox "

  4. #4
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Afficher automatiquement le mot de la cellule que nous avons cliqué 2 fois dans la ComboBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm2.StringGrid1DblClick(Sender: TObject);
    var
      S: string;
      I: integer;
    begin
       with StringGrid1 do S:= Cells[Col, Row];
       I:= Form1.ComboBox1.Items.IndexOf(S);
       if I >= 0 then Form1.ComboBox1.ItemIndex:= I;
    end;
    Cordialement
    Thierry

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 92
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par ThWilliam Voir le message
    Bonjour,



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm2.StringGrid1DblClick(Sender: TObject);
    var
      S: string;
      I: integer;
    begin
       with StringGrid1 do S:= Cells[Col, Row];
       I:= Form1.ComboBox1.Items.IndexOf(S);
       if I >= 0 then Form1.ComboBox1.ItemIndex:= I;
    end;
    Cordialement
    Thierry
    Merci Énormément Thierry, vous êtes un génie !
    Comment puis-je afficher maintenant, la ligne sélectionné et non la cellule s'il vous plaît ?
    Merci encore de votre précieuse aide

  6. #6
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Un génie ? C'est un peu exagéré, non ?

    Comment puis-je afficher maintenant, la ligne sélectionné et non la cellule ?
    Je suppose que tu parles de mettre en surbrillance (bleu généralement) toute la ligne du stringgrid.
    Dans ce cas, dans la propriété Options du stringgrid : goRowSelect = true

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 92
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par ThWilliam Voir le message
    Un génie ? C'est un peu exagéré, non ?



    Je suppose que tu parles de mettre en surbrillance (bleu généralement) toute la ligne du stringgrid.
    Dans ce cas, dans la propriété Options du stringgrid : goRowSelect = true
    Non pas exactement cela, le code que tu ma donné c'est pour afficher dans la combox la cellule que nous avons selectionner mais admetton que j'ai 3 colonne et que je clique sur la colonne 1 mais que l'information de ma combo est sur la colonne 3

  8. #8
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    J'espère avoir compris cette fois.

    Dans le code donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with StringGrid1 do S:= Cells[Col, Row];
    Col est une propriété qui nous donne l'index de la colonne sélectionnée.
    Row nous donne l'index de la ligne sélectionnée.

    Donc il suffit de modifier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with StringGrid1 do S:= Cells[3, Row];
    Attention, la première colonne a l'indice 0 ! Si tu n'as rien modifié, cette colonne est fixe.

Discussions similaires

  1. des ComboBox dans StringGrid
    Par faniette dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/05/2008, 00h08
  2. Ajouter ComboBox dans StringGrid
    Par jojo86 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/03/2008, 23h47
  3. des combobox dans un stringgrid
    Par cibi182 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/04/2006, 10h00
  4. Comment insérer un ComboBox dans un cellule StringGrid
    Par Xavier dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/01/2006, 11h36
  5. Comment dessiner un ComboBox dans un StringGrid ?
    Par gilles641 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 30/07/2005, 15h19

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