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# Discussion :

Bouton dynamique - Resultat requete


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Bouton dynamique - Resultat requete
    Bonjour !
    Jai actuellement un petit soucis , je mexplique.

    Jai une table utilisateur, une table groupe, une table folders.
    Chaque utilisateur , a lenregistrement a acces a plusieurs groupes et aussi aux folders de ces groupes.
    Exemple : Groupe 1 Groupe 2
    Et dans le groupe 1 il ny a que les folders 1, 2 , 3 et dans le groupe 2 les folders 3 ,4

    Au chargement du formulaire je souhaiterais creer des boutons dynamiquement , en fonction des folders dont lutilisateur a acces.
    Par exemple , le User1 n'a acces que au groupe 1, donc jaimerais afficher un bouton folder 1 , un bouton folder 2 et un bouton folder 3.

    Je suppose que je dois faire un select pour avoir l'id du User ainsi que les groupes et les folders associes a chaque groupe mais comment faire apres pour creer les boutons en fonction du resultat de cette requete ?

    Merci d'avance pour votre reponse.

    Cordialement

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Points : 179
    Points
    179
    Par défaut
    Quelle technologie d'affichage utilises tu ? Windows Forms ? WPF ? Silverlight (j'imagine que non) ?

    Dans quoi sont stockés tes "tables" ?
    Une base de donnée ?
    Comment t'y connectes tu ? Entity Framework ? ADO.Net ?


    Si tu n'as pas encore décidé alors je te conseille Entity Framework et WPF... ça sera plus facile à mettre en place et donc à expliquer

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Windows Forms avec une base de données SQL server !
    Pas de WPF ni de silverlight, je souhaite juste générer les boutons sur un .form basique .

    J'ai ma requete qui me recupere les noms des folders associe au groupe enregistre pour l'utilisateur connecté , mais je ne sais pas quoi faire de cette requete SELECT maintenant ... Je souhaite générer 1 bouton par folder et je creerai des events pour chaque bouton.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Points : 179
    Points
    179
    Par défaut
    Je vais supposer que tu executes ta requête en tant que datareader... dans ce cas, il faut ajouter manuellement les boutons dans le conteneur de ta form.

    Ca donnerait quelque chose comme ça

    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
     
    using(var r = com.ExecuteReader())
    {
        float w=0;
        while(r.Read())
        {
             var b = new Button{Caption=r.GetString(0), Width=30, Height=20, Left=w};
             w+=60;
             var nom = r.GetString(0);//copie locale du nom actuel de la variable
             b.Click+= delegate{
                  MessageBox.Show("Le bouton "+nom+" a été cliqué");
             };
             monConteneur.Children.Add(b);
        }
    }
    PS : Je suis un peu rouillé en Winforms donc désolé si je me plante à mettre des .Caption là où il y a des .Text ou autres joyeusetés.

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta reponse !

    Jai une idee de comment je vais faire maintenant mais ou vais je placer les resultats de la requete. Je veux dire par la comment la requete sait quil y a 4 dossiers associe a la personne connecte , et comment elle va creer ses 4 boutons dynamiquement .

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Parfait jai reussi !

    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
                    var conString = ConfigurationManager.ConnectionStrings["LocalSqlServer"];
                    string strConnString = conString.ConnectionString;
                    SqlConnection dbConnection = new SqlConnection(strConnString);
                    dynamic queryString = ("SELECT Folders.Name, USERS_GROUPS.User_Id FROM Folders, GROUPS_FOLDERS, USERS_GROUPS, Users WHERE GROUPS_FOLDERS.Folder_Id = Folders.Id AND GROUPS_FOLDERS.Group_Id = USERS_GROUPS.GROUP_ID AND USERS_GROUPS.User_Id = Users.Id AND Users.Id = IDENT_CURRENT('Users') ");
                    SqlCommand theCommand = new SqlCommand(queryString, dbConnection);
     
                    dbConnection.Open();
     
                    SqlDataReader reader = theCommand.ExecuteReader();
                    while ((reader.Read()))
                    {
                        string strFolder = null;
                        Button button = new Button();
                        //button.Click += OnButtonClick;
                        strFolder = reader["Name"].ToString();
                        button.Text = strFolder;
                        Form.Controls.Add(button);
                    }

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

Discussions similaires

  1. resultat requete SQL d'un select dans variable vb
    Par seb_06 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 11/10/2004, 16h29
  2. recuperation resultat requete
    Par mimilou dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 09/06/2004, 15h07
  3. Réponses: 2
    Dernier message: 20/01/2004, 14h27
  4. Resultat requete dans une seule colonne
    Par mathieu--g dans le forum Sybase
    Réponses: 2
    Dernier message: 08/07/2003, 13h42
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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