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 :

affichage dynamique en fonction des données en base


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 2
    Points : 3
    Points
    3
    Par défaut affichage dynamique en fonction des données en base
    bonjour, j'ai encore un souci.J'essaie de créer dynamiquement des label qui ont une caption de la valeur d'un nom.Malgré cela cela ne s'affiche pas et il m'indique qu'ils sont qd meme créer ( si je rappuie sur le bouton.) ai-je oublié un refresh ?
    voila mon code (simple ):

    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
    var
       i, li_top : integer;
       MyLabel : TLabel;
    begin
         Query1.SQL.clear;
         Query1.SQL.add('select * from agent');
         Query1.Open;
         Query1.First;
         li_top := 10;
         for i:= 0 to Query1.RecordCount do
             begin
                  MyLabel := TLabel.create(self);
                  MyLabel.parent := Form2;
                  MyLabel.Name := 'MyLabel' + inttostr(i);
                  li_top :=MyLabel.height + li_top;
                  MyLabel.top := li_top + 5;
                  MyLabel.Caption := Query1.fieldbyName('nom').asstring;
                  Query1.Next;
             end;
         Query1.close;

    [Balise code ajoutée par King Kaiser]

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 42
    Points : 19
    Points
    19
    Par défaut
    je crois qu'en dehors de dbase et paradox, le recordcount est un peu bancal en BDE.

    essaie plutot un truc du genre :

    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
    var
    	i: integer;
    begin
    	i := 0;
    	Query1.SQL.clear;
    	Query1.SQL.add('select nom from agent');  // (le champ 'nom' suffit')
    	Query1.Open;
    	Query1.First;  // (inutile ?)
    	while not Query1.Eof do
    		with TLabel.Create(Form2) do
    			begin
    				i := i + 1;
    				Parent := Form2;
    				Name := 'MyLabel' + IntToStr(i);
    				Top := i * (Height + 8);  // (enfin là c'est à toi de voir)
    				Caption := Query1.Fields[0].AsString;
    				Query1.Next;
    			end;
    	Query1.Close;
    end;
    ++

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/04/2013, 14h18
  2. Affichage d'une partie des données d'une table de Base de données
    Par zpico dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 15/05/2012, 11h47
  3. [Flex3] Hauteur datagrid dynamique en fonction des données
    Par bobkilla dans le forum MXML
    Réponses: 0
    Dernier message: 01/02/2011, 16h48
  4. Réponses: 5
    Dernier message: 24/03/2010, 14h55
  5. Réponses: 1
    Dernier message: 31/08/2009, 05h17

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