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 :

Raffraichir ma DBLookupComboBox


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut Raffraichir ma DBLookupComboBox
    salut, j espere que vous pourrez m aider
    j utilise un DBLookupComboBox pour l instant tout va bien j ai connecte la table et datasource
    tout marche a merveille j ai les information attendu...

    j ai creer ensuite un bouton supprimer un enregistrement et la encore tout marche

    mais le probleme c est que ds le DBLookupComboBox y a encore l enregistrement affiche (meme si ca ete supprimer)
    il faut que je me place sur un autre enregistrement pour ne plus le voir ds la liste

    si quelqu un peut m aider ca serait gentille

  2. #2
    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,

    As tu essayé qqchose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBLookupComboBox->Refresh();
    ou agir sur le composant TDataSource qui doit (normalement si je me trompe pas) alimenter le DBLookupComboBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataSource->Dataset->Refresh();
    En espérant t'aider,
    @ +

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    oui jai essaye mais non ca ne marche pas c est bizarre

    merci qd meme


    Ds l aide j ai trouve ca mais c est bizare (c est plutot pour du delphi):

    mettre un valeur par défaut dans un DBLookUpComboBox

    Pour cela il faut fixer la valeur du champ de la table juste après l'insertion d'un nouvel enregistrement. Ceci en positionnant la table de référence ( liste de valeur de la DBLookUpComboBox ) sur l'enregistrement voulu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TForm1.Table1NewRecord(DataSet: TDataSet);
    begin
      With DBLookUpComboBox1 Do
      Begin
        ListSource.DataSet.First ;
        Field.Value := ListSource.DataSet.FieldByName(KeyField).Value;
      End;
    end;

    si on peut transforme en c++?

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    As tu bien spécifier le datafield du dblookup et etc...
    Sinon tu pourrais utiliser une fonction qui remette à jour la liste...

    Par exemple moi j'ai utilisé une ListBox avec l'id et le nom que je voulais qui s'affiche et quand je supprime je retire le nom de la list sans refaire tout le code et suppression dans la bdd aussi...C'est une solution...

    Bon voilà ce que je te conseille, rajoute un élément navigate supprime avec et si ca se réactualise avec donc c'est bon dans le cas contraire ca veut dire qu'il y a un bleme...

    Question as tu mis readonly ) true ???

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    salut
    en fait avec datafield et datasource ca marche pas , il faut utiliser listfield et listsource

    pour readonly ok mais n y a t'il pas moyen d afficher quelque chose par default car qd je le fait il y a rien qui s affiche et c est un casse tete si tu sois le supprimer

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    JE viens de tester et ca marche correctement...Da dépend du mode de suppression. Si tu supprimes en sql alors il faudrait faire un refresh de la list et non de la table (enfin je pense). Si tu le fais directement grace à delete ca devrait le faire

  7. #7
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    salut qu est ce qui marche la datafield ???

    si ca marche pourrais tu me montrer ton bout de code s il te plait ca m aiderai bien merci

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    non la suppression à partir d'un DBListLook...

  9. #9
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    oui ds un DBListLook ca fonctionne mais j ai envie d avoir une liste deroulante et jque je puisse selectionne un elemen-t de ma liste et n ai trouve que un vDBLookUpComboBox pour faire ca


    et merci pour ton aide

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    J'ai une nouvelle solution lol :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBLookupComboBox1->Text = la valeur de ton champ à partir de Table
    A effectuer soit dans l'évenement Ondelete du Table soit juste après ton instruction delete, au choix

    PS : Pourquoi ce code?! Très simple lors d'une suppression avec Table->Delete le table se place automatiquement sur le prochain enregsitrement dans il reste plus qu'à utiliser le FieldName et le mettre dans DBLookupComboBox1->Text

  11. #11
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    sorry de t ennuier encore (ou vous s'ennuiez), j ai essaye de rentre des valeur ds DBLookupComboBox1->Text = ; mais je n y arrive pas (manque d experience)

    comment faire c ette manip "la valeur de ton champ à partir de Table"???

    DBLookupComboBox1->Text =la valeur de ton champ à partir de Table;

  12. #12
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Comme je le disais si tu utilises le composant Table pour faire la suppression et non une requete SQL lors du delete le curseur se positionne instantanément sur l'enregistrement suivant (si pas dernier) ou sur le précédent (si dernier) donc on peut largement se baser sur ce fait pour effectuer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBLookupComboBox1->Text = Table->FieldByName("Nom")->AsString;
    Nom est là à titre d'exemple

  13. #13
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    qd je compile il me dit que DBLookupComboBox1::Text n est pas accessible :

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Oui effectivement je viens de regarder...Désolé...

    Bon ben penses sérieusement à tout faire avec ComboBox et même à utiliser un Query

  15. #15
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    ben bon merci qd meme pour ton aide

  16. #16
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Alors, si j'ai bien compris..tu veux rafraichir ta liste.

    Donc tu as la propriété ListSource...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBLookupComboBox1->ListSource->DataSet->Refresh()
    tch'o

  17. #17
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    j ai deja essayer mais qd la liste se ferme le mot supprime reste encore ds l edit j usqu au moment ou je selectionne un autre mot

  18. #18
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut
    Comment mettre un valeur par défaut dans un DBLookUpComboBox ?

    ca c est du delphi:

    procedure TForm1.Table1NewRecord(DataSet: TDataSet);
    begin
    With DBLookUpComboBox1 Do
    Begin
    ListSource.DataSet.First ;
    Field.Value := ListSource.DataSet.FieldByName(KeyField).Value;
    End;
    end;

    mais en c++ builder comment on transcrit ce code?

  19. #19
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    J'en suis pas trop sur mais je serais partant pour dire qu'en C++ ce serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DBLookUpComboBox1->ListSource.DataSet.First ;
    DBLookUpComboBox1->Field.Value = DBLookUpComboBox1->ListSource.DataSet.FieldByName(KeyField).Value;

  20. #20
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    alors, ce serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBLookUpComboBox1->KeyValue = ta_valeur
    par ailleurs, c'est une deuxième question..donc devrait être dans un nouveau topic.

    le premier problème est-il réglé?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. DBLookupComboBox dans DBGrid
    Par KThrax dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/08/2004, 15h18
  2. utilisé la valeure d'un dblookupcombobox
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 14h02
  3. synchronisation de deux DBLookUPComboBox
    Par frede dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/02/2004, 08h32
  4. DBLookupComboBox avec listfield multiple.
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 20/02/2004, 08h24
  5. Mettre en relation les contrôles DBLookUpComboBox et DBGrid
    Par Gendarmette dans le forum Bases de données
    Réponses: 7
    Dernier message: 19/01/2004, 13h16

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