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

Bases de données Delphi Discussion :

[DBGrid] Picklist en galère :(


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut [DBGrid] Picklist en galère :(
    Bonjour à tous,

    Avant toutes choses, et avant de me faire lincher j'ai bien parcourus les differents sujets traitant des picklist dans les DBGrid et les informations que j'ai pu trouver sur Internet, mais malheureusement ca ne fonctionne toujours pas pour ma part.

    Je vais vous expliquer le plus clairement possible ce que je souhaite faire. Ma fenetre propose une DBGrid dans laquelle le premier champs est un numéro (de 1 a n, prenons n=8) qui est récupéré dans une base Paradox. Le deuxieme champs est celui ou je voudrais qu'il y ai la PickList (les données à mettre dans cette picklist sont aussi dans une table). Enfin un champ caché qui est la clé primaire de la premiere table intérogé (ca n'a pas grand importance mais je le dis qd meme).

    L'affichage fonctionne correctement, seulement je n'ai pas de Picklist lorsque j'essaye d'editer la colonne N°2 nommé "Nom". La N°1 est "Numéro".

    Voile le code que j'utilise pour ca:

    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
    procedure TFAjouterParticipantsImposes.SetupGridPickList;
    var
        qImposes : TQuery;
    begin
        qImposes := Tquery.Create(nil);
        qImposes.DataBaseName   :='Piscine';
     
        qImposes.SQL.Add('SELECT Nom_impose FROM imposes WHERE categorie = :id_categorie');
        qImposes.ParamByName('id_categorie').AsInteger := FAjouterParticipants.id_categorie;
     
        qImposes.Open;
     
        while not qImposes.Eof do
        begin
            DBGrid1.Columns[2].PickList.Add(qImposes.FieldByName('Nom_impose').AsString);
            qImposes.Next;
        end;
     
        qImposes.Free;
    end;
    La premiere colonne est rempli directement par un composant que j'ai posé sur ma fenetre (en edition graphique).

    J'ai les options suivantes pour ma DBGrid:

    dgEditing, dgAlwaysShowEditor, dgTitles, dgRowLines, dgTabs
    Voila. J'ai essayé de donner le max d'informations. Je viens de passer un nombre d'heure incalculable la dessus, et quand je vois que personne n'a vraiment de probleme pour les mettre en place (les picklist) je commence a desesperer

    J'ai bien tenté de les mettre "en dur" via l'inspecteur d'objet mais cela ne fonctionne pas pour autant.

    Voila, si vous avez une idée.

    Merci d'avance.

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    bonjour
    à tout hasard
    dbgrid.columns[2].ButtonStyle est bien sur cbsAuto?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Oui, il est bien sur cbsAuto.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    re à tout hasard
    il ne faut pas mettre qimposes.first?
    j'ai essayé avec des datasources et le fait de les ouvrir ne les positionne pas pour autant sur le premier record

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Re,

    qimposes.first sert a quoi exactement ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Je suis assez depité car toutes les articles/messages que je peux consulter ne m'apporte aucune reponse, et il semble pourtant que ce soit un jeu d'enfant de mettre en oeuvre ces maudites picklist.

    Si qq1 avait un code qui fonctionne ca m'interesserais aussi, je pourrais peut etre trouver pourquoi le mien ne fonctionne pas.


  7. #7
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    ça cela marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DataSource11.DataSet.open;
    DataSource11.DataSet.First;
    while not DataSource11.DataSet.Eof do begin
    dbgrid1.Columns[2].PickList.add(DataSource11.DataSet.FieldByName('abr').AsString);
    DataSource11.DataSet.Next;
    end;
    datasource11 a pour ataset une adotable mais j'en ai un autre qui a un tadoquerry et cela fonctionne aussi si la requette est bonne
    je n'en dirai pas + car je débute en bd

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Ah !

    Ca y est je suis enfin arrivé à générer cette picklist de ****** Tout simplement parce que je n'avais pas de valeur par defaut dans la colonne en question.

    Merci pour ton aide nomdutilisateur.

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

Discussions similaires

  1. Erreur avec DBGrid PickList
    Par Neuromancien2 dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/07/2008, 18h21
  2. Problème DBGrid avec Columns mentionnées et PickList
    Par othland dans le forum Composants VCL
    Réponses: 6
    Dernier message: 25/09/2007, 10h59
  3. [DBGRID] Comment derouler par le code une picklist ?
    Par kase74 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/09/2004, 11h57
  4. DBLookupComboBox dans DBGrid
    Par KThrax dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/08/2004, 15h18
  5. [Dbgrid] Picklist & Autocomplete ?
    Par dudux dans le forum Bases de données
    Réponses: 7
    Dernier message: 11/07/2004, 10h32

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