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

Lazarus Pascal Discussion :

TDBListBox ne se remplit pas [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut TDBListBox ne se remplit pas
    Bonjour,

    Voilà, je voulais afficher une liste en provenance direct d'une table SQLite.

    J'ai bien tout remplit, mais à l'execution, ma liste reste vide !

    J'ai tout bien vérifié, la connexion est active (j'utilise les compos ZEOS), ma table est active, le datasource est bien branché sur la table et la tdblistbox sur le datasource. Le datafield est bon. Bref,c'est un truc simple à la base.

    Mais rien à faire, la liste reste vide !

    Qu'est-ce qui ne fonctionne pas sous Lazarus ? Y a t-il un truc à faire en plus ?

    Merci d'avance

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    HAAAAAA !
    Je viens de rajouter une TDBCombobox et la zone de saisie est bien initialisée avec le premier enregistrement, mais la liste de défilement reste vide elle aussi !

    C'est quoi ce m***er avec Lazarus ?
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,

    Je crois que vous confondez TDBListBox et TDBComboBox avec respectivement TDBLookupListBox et TDBLookupComboBox...

    Les premiers servent à alimenter un champ à partir d'une liste fixe, les seconds à alimenter un champ qui est une clé fournie à partir des données d'un ensemble de données lié.

    Après il faut regarder les propriétés ListSource, KeyField, ListField pour l'ensemble de données lié, DataSource, DataField pour l'ensemble de données principal.
    --
    Philippe.
    Philippe.

  4. #4
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Bonjour,

    Merci de votre réponse, mais, non, je ne confond pas.

    J'ai placé un TDBListBox afin d'afficher dans ma fiche la liste des éléments d'une table de ma base.
    Il n'y a pas de listource, keyfield, ou listfield dans les propriétés de TDBListBox.

    Le datasource pointe vers un datamodule lui-même lié à ma table, ma table est active, et le champs datafield est renseigné. Bref, je fais comme avec Delphi. Hélas, le résultat n'est pas là. La liste reste vide à l'execution.

    D'après les forum anglais, ce serait un bug répertorié depuis pas mal de version, mais toujours pas corrigé !

    J'ai contourné le problème en utilisant une table, mais,c'est dommage, et ça risque d'être gênant pour la suite.

    Je vais chercher un composant de remplacement, mais ça va pas être évident à trouver. C'est quand même dommage que des bugs aussi majeurs ne soient pas corrigés.

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par Jon Shannow Voir le message
    Merci de votre réponse, mais, non, je ne confond pas.
    Je me permet d'insister car conceptuellement, et là je reprends l'aide de Delphi sur laquelle je m'appuie pour argumenter :
    TDBListBox représente une boîte liste orientée données qui permet aux utilisateurs de changer la valeur du champ en sélectionnant un élément dans une liste.
    Description
    Utilisez TDBListBox pour ajouter à une fiche une boîte liste permettant aux utilisateurs de changer la valeur d'un champ de l'enregistrement en cours à partir d'un ensemble de choix prédéfinis.
    TDBLookupListBox propose une liste d'éléments de référence pour renseigner les champs qui attendent des valeurs provenant d'autres ensembles de données.
    Description
    Utilisez TDBLookupListBox pour proposer aux utilisateurs une liste d'éléments de référence permettant de définir la valeur d'un champ en utilisant les valeurs d'un champ d'un autre ensemble de données. Les boîtes listes de référence affichent habituellement des valeurs décrivant la valeur réelle du champ.
    Citation Envoyé par Jon Shannow Voir le message
    J'ai placé un TDBListBox afin d'afficher dans ma fiche la liste des éléments d'une table de ma base.
    Pour moi, c'est donc un TDBLookupListBox qu'il faut utiliser...
    Un TDBListBox est alimenté en remplissant la propriété Items d'un ensemble de choix prédéfinis dont celui qui sera sélectionné renseignera le champ défini par DataField appartenant au Datasource sélectionné.
    Citation Envoyé par Jon Shannow Voir le message
    Il n'y a pas de listource, keyfield, ou listfield dans les propriétés de TDBListBox.
    Je parle là des propriétés des composants TDBLookupListBox et TDBLookupComboBox...
    Citation Envoyé par Jon Shannow Voir le message
    Le datasource pointe vers un datamodule lui-même lié à ma table, ma table est active, et le champs datafield est renseigné. Bref, je fais comme avec Delphi. Hélas, le résultat n'est pas là. La liste reste vide à l'execution.
    Cf. ce que j'ai indiqué ci dessus...
    Citation Envoyé par Jon Shannow Voir le message
    D'après les forum anglais, ce serait un bug répertorié depuis pas mal de version, mais toujours pas corrigé !

    J'ai contourné le problème en utilisant une table, mais,c'est dommage, et ça risque d'être gênant pour la suite.

    Je vais chercher un composant de remplacement, mais ça va pas être évident à trouver. C'est quand même dommage que des bugs aussi majeurs ne soient pas corrigés.
    Là, pour moi, il s'agit non pas d'un bug mais plutôt d'une incompréhension du fonctionnement des composants utilisés, peut-être du à l'absence de documentation plus détaillée...
    --
    Philippe.
    Philippe.

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    OK, je comprends ce que tu dis, et vois mon erreur. Donc, j'en conclus que pour afficher une liste des éléments d'une table, sans lien, juste pour avoir une liste, il faut utiliser une table, même si elle n'a qu'une colonne !

    C'est ça ?
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    OK, je comprends ce que tu dis, et vois mon erreur. Donc, j'en conclus que pour afficher une liste des éléments d'une table, sans lien, juste pour avoir une liste, il faut utiliser une table, même si elle n'a qu'une colonne !

    C'est ça ?
    Je pourrais faire une "réponse de normand" : p'tet ben que oui, p'tet ben que non..."

    Pour afficher une liste des éléments d'une table :
    • un TDBGrid (mais comme son nom le laisse penser, c'est plus prévu pour du multi-colonne).
    • un TDBLookUpListBox (voire en fonction de l'interface utilisateur un TDBLookUpComboBox) (mono colonne).
    • un TListBox (voire un TComboBox) dont on alimentera à la main la propriété Items avec les éléments choisis dans la table sélectionnée.


    Après, on peut éviter d'utiliser un TTable mais plutôt un TQuery (les deux descendent du TDataset) dont la requête SQL de sélection se limitera à une colonne...
    --
    Philippe.
    Philippe.

  8. #8
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    OK,

    Merci pour ces éclaircissements, je met en résolu le sujet

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

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

Discussions similaires

  1. Zone de liste qui se remplit pas
    Par illight dans le forum IHM
    Réponses: 2
    Dernier message: 28/04/2008, 10h38
  2. Mon JDesktopPane ne remplit pas toute ma JFrame
    Par Tijee dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/01/2008, 03h18
  3. [Package wallpaper] La texture ne remplit pas le pied de page
    Par shushed dans le forum Mise en forme
    Réponses: 4
    Dernier message: 27/09/2007, 16h37
  4. Réponses: 23
    Dernier message: 20/02/2007, 10h34
  5. Background ne remplit pas toute la page
    Par brotelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 82
    Dernier message: 18/05/2006, 14h04

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