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 :

Combobox.text qui ne se met pas à jour


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 213
    Points : 109
    Points
    109
    Par défaut Combobox.text qui ne se met pas à jour
    Bonjour,

    j'ai plusieurs combobox qui utilise la même méthode sur l'évènement Click.
    Lorsque le click à été fait, je vérifie le contenu du champ Text et si il correspond au nom de combo, je fais un insert de données provenant d'une DB.
    Mon problème est le suivant, lorsque j'ai fini de faire mes Items.Add, je voudrais remettre une valeur dans Text, mais cela ne fonctionne pas

    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
    27
    28
    29
     
    procedure TFrmMeubles.FillComboClick(Sender: TObject);
    var
      oParams : Variant;
    begin
      if Sender is TComboBox then
      begin
        with Sender as TComboBox do
        begin
          if ('CMB' + UpperCase(Text)) = UpperCase(Name) then
          begin
            oParams := Factory[1].resultset('g.Params','ListVal');
            oParams.Execute(UpperCase(Text),'1',500);
            Clear;
     
            while oParams.Next do begin
              Items.Add(oParams.getdata(2));
              Application.ProcessMessages;
            end;
     
     
            oParams.Close;
            oParams:=null;
          end;
        end;
          (Sender as TComboBox).Text := 'test';
      end;
     
    end;
    J'avoue que je ne comprends pas du tout la raison
    Mais quelle bordel !

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    regarde de plus prés le suivi des evenemnt du combobox (pas forcement déclaré dans votre application, simplement pour connetre et comprendre votre coposant ,comme un ami )
    en plus tu change le contenu du combo dans un des principeux evenemnt (a peut prés ce trouve au milieu des autre evenemnt de combobox, pas a lafin)
    bah, ....
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Si mes souvenirs sont bons, tu ne peux pas utiliser Text en ecriture si ta combo est dropDownList, il faut utiliser itemIndex ...

    Hope it helps
    _pirBD_

  4. #4
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    essay d'execute ce code pour voir ce qui ce passe :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        ComboBox1: TComboBox;
        Label1: TLabel;
        procedure ComboBox1Change(Sender: TObject);
        procedure ComboBox1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
         Label1.Caption:='change';
    end;
     
    procedure TForm1.ComboBox1Click(Sender: TObject);
    begin
         Label1.Caption:='Click';
         ComboBox1.Text:='';
    end;
    end.
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  5. #5
    Membre expert
    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 : 53
    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
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour,

    J'ai fais un petit test avec 'cousin' CBuilder, avec un bout de code comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //ici, CBt est un TComboBox
    CBt->Items->Clear();
    for (int i = 1; i < 11; i ++)
    {
            CBt->Items->Add(AnsiString("essai ") + i);
    }
    CBt->Text = "test";
    et cela ne fonctionne pas si le TComboBox a, pour sa propriété 'Style', la valeur csDropDownList. Avec csDropDown, cela fonctionne...

    En espérant t'aider, et ne pas être a côté de la plaque

    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  6. #6
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par Sunchaser
    Bonjour,

    J'ai fais un petit test avec 'cousin' CBuilder, avec un bout de code comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //ici, CBt est un TComboBox
    CBt->Items->Clear();
    for (int i = 1; i < 11; i ++)
    {
            CBt->Items->Add(AnsiString("essai ") + i);
    }
    CBt->Text = "test";
    et cela ne fonctionne pas si le TComboBox a, pour sa propriété 'Style', la valeur csDropDownList. Avec csDropDown, cela fonctionne...

    En espérant t'aider, et ne pas être a côté de la plaque

    @ +
    tu met ce code où, lui il le met dans onclik de mem comosant
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 213
    Points : 109
    Points
    109
    Par défaut
    Je viens de regarder et le style est bien sur csDropDown

    Par contre, j'ai tester le code à partir d'un bouton et ... bizarrement cela fonctionne
    Serait ce vraiment le faite que ce soit l'évènement OnClick du même objet qui birderait la propriété?
    Mais quelle bordel !

Discussions similaires

  1. [DEBUTANT] Datatable qui ne se met pas à jour
    Par nakk01 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/02/2009, 16h30
  2. Réponses: 14
    Dernier message: 08/07/2008, 10h36
  3. [MySQL] Date qui ne se met pas à jour
    Par caro93150 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2008, 20h01
  4. AJAX - Formulaire qui ne se met pas à jour
    Par wenijah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/11/2007, 10h31
  5. Réponses: 2
    Dernier message: 05/10/2006, 08h24

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