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

Windows Forms Discussion :

Problème recupération d'infos d'une BD et affichage


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Par défaut Problème recupération d'infos d'une BD et affichage
    Bonjour!
    Je souhaite afficher les résultats d'une requète sql dans une appli winform. J'aimerai obtenir autant de labels que de résultats renvoyés par ma requète, mais comment générer automatiquement des labels à partir de ce que me renvoie ma requète ?
    voici le bout de code que j'ai réalisé pour l'instant, mais qui biensur, ne fonctionne pas...

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while (mydataReader.Read())
    {
        label2.Text = mydataReader[0].ToString();
        Labeltab[j].Text = mydataReader[0].ToString();
        Labeltab[j].Top = 10;
        Labeltab[j].Show();
        j++;
    }
    Merci d'avance pour votre aide!
    julia

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Salut,

    Pour créer dynamiquement tes controles labels
    la première étape consiste à créer l'objet et affecter des valeurs à ses propriétés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Création du label
    System.Windows.Forms.Label label = new Label();
    label.Text = mydataReader[j].ToString();
    label.Location = new Point(12, 20); // Définition de la position du label
     
    // Ensuite tu ajoutes le label sur le formulaire
    this.Controls.Add(label);
    J'espère que ça t'aidera.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Par défaut
    Merci encore pour ta réponse, mais comment générer automatiquement un label pour chaque réponse renvoyées par ma requète? (il va falloir tous les nommer différement...) Et décaler la position du label crée à chaque fois pour ne pas qu'ils se superposent tous? Merci encore!
    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
     
    while (mydataReader.Read())
                    {
                        // Création du label
                        System.Windows.Forms.Label label = new Label();
                        label.Text = mydataReader[0].ToString();
                        label.Location = new Point(10, j*20); // Définition de la position du label
     
                        if (j == 0)
                        {
                            label.Location = new Point(10, 20);
                        }
                        // Ensuite tu ajoutes le label sur le formulaire
                        this.Controls.Add(label);
                        j++;
                    }
    Donc voilà, comment faire pour les nommer différement?...

  4. #4
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Essai avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    label[j].Text = mydataReader[j].ToString();

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Par défaut
    ... toujours pas...
    J'avais pensé à une autre solution sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while (mydataReader.Read())
                    {
                        label2.Text = label2.Text+mydataReader[0].ToString()+"\n \n";
                        label2.Show();
                        j++;
                    }
    mais cela ne passe pas, je ne vois pas ce qui cloche... J'ai voulu concaténer, ce qui était précédement écrit dans le label avec la nouvelle réponse que me renvoie la requète...

  6. #6
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Connaissant le nombre de ligne que retourne ta requête (int nbre par exemple), tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for(int i=0; i<=nbre; i++)
    {
    	// Création du label
    	System.Windows.Forms.Label label[i] = new Label();
    	label[i].Text = mydataReader[i].ToString();
    	label[i].Location = new Point(10, i*20); // Définition de la position du label
     
     
    	// Ensuite tu ajoutes le label sur le formulaire
    	this.Controls.Add(label[i]);
     
    }
    Je n'ai pas visual studio à côté pour tester. A toi de l'adapter

Discussions similaires

  1. Recupération d'infos sur une page web.
    Par luca120 dans le forum Langage
    Réponses: 1
    Dernier message: 05/12/2009, 23h28
  2. recupérer les info d'une table X pour alimenter une table Y
    Par lemerite dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/09/2008, 12h31
  3. Réponses: 1
    Dernier message: 16/07/2007, 11h44
  4. Recupérer les info d'une page dans une autre
    Par Chikh001 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/07/2006, 09h34
  5. Recupérer les info d'une page dans une autre
    Par Chikh001 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/07/2006, 13h36

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