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

ASP.NET Discussion :

Comment créer un formulaire de saisie et proposer des listes déroulantes?


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Comment créer un formulaire de saisie et proposer des listes déroulantes?
    Bonjour tout le monde,

    Une fois de plus je viens vers vous sur un nouveau problème, en fait, j'aurais besoin de faire un tableau, et le remplir à partir de données que je vais chercher sur ma base de données (SQL SERVER).

    Voici un petit schéma de ce que je cherche à faire :



    En fait, les 3 premières colonnes sont des infos que je veux remplir avec des données que l'utilisateur va piocher dans la base, et pour la 4ème, il disposera d'une liste déroulante.

    J'ai essayé de plusieurs façon, mais là j'avoue que je n'ai plus trop d'idée, je ne demande pas de réponse, juste une piste.

    Merci d"avance à ceux qui prendront la peine de m'aider.

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    tu peux utiliser un repeater, ou une datagrid, ou un listview, au choix

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Salut, et merci pour cette réponse,

    Malheureusement, avec un Datagrid ou un Repeater, il me demande de choisir une source de données, or, je n'ai pas la source, puisque c'est l'utilisateur qui va choisir les infos.

    Ou alors, c'est moi qui loupe quelque chose ?

  4. #4
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Tu n'es pas obligé de définir ta source de données pour chaque colonne, ni au moment du design

    L'idée, c'est que tu vas faire un repeater, qui va representer ta table, avec une dropdown vide

    après, dans l'évenement de binding de ton repeater, tu remplis ta dropdown

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Donc pour résumé :

    Je fais un repeater (je l'insère à mon design), je crée une DropDownList que j'insère également dans mon design.

    Je choisis aucune source de données.

    Jusqu'ici nous sommes d'accord ?

    Ensuite, je ne comprend pas trop comment remplir l'évènement de mon binding avec la dropdown.

    Je débute en Asp.net donc pardonnez mon ignorance.

    Pour rappel, les utilisateurs doivent être capable à partir de la case référence du tableau d'accéder à une liste de référence, en choisir une, passer à la ligne suivante, en choisir une autre, avec le tableau qui grandit au fur et à mesure.

    Actuellement, j'en suis au stade ou j'arrive à avoir la liste des références, mais j'ai besoin de les caler dans un tableau (une référence par ligne).

    Anyone ?

    Merci d'avance.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Bon, j'ai réussi à avancer.

    J'aurais une autre petite question à vous soumettre :

    Je suis sur ma page principale, j'ajoute une référence, cela me renvoi sur une page ou je choisis ma référence, je suis automatiquement redirigé sur ma page principale. La référence que j'ai récupéré est directement stocké dans un label.

    Si je veux prendre une seconde référence et que je veux donc l'ajouter à mon Label, cela écrase la précédente référence (logique me direz-vous), mais n'y a t-il pas justement un moyen pour les mettre à la suite ?

    Merci d'avance.

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel.Text = "toto";
    Pour concatener:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel.Text = monLabel.Text + " tata";
    -> toto tata
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel.Text += " tata";

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,
    Citation Envoyé par jakichan007645 Voir le message
    Malheureusement, avec un Datagrid ou un Repeater, il me demande de choisir une source de données, or, je n'ai pas la source, puisque c'est l'utilisateur qui va choisir les infos.
    Premièrement, la source de données est nécessaire car elle va te permettre de définir ton tableau (GridView), la liste de tes colonnes et au final de stocker la saisie de l'internaute.
    Ensuite, pour réaliser la saisie il existe le FormView. Pour proposer une liste de choix tu peux créer des custom control dérivés de DropDownList qui vont aller chercher dans ta base les options possible s dès qu'ils sont créés. Genre ceci:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    [DefaultProperty("Text"), ToolboxData("<{0}:ListOfGender runat=server></{0}:ListOfGender>")]
    public class ListOfGender : DropDownList
    {
        private DataTable dt = new DataTable();
     
        public override void DataBind()
        {
            base.DataSource = this.dt;
            base.DataTextField = "Name";
            base.DataValueField = "Id";
            base.DataBind();
        }
     
        protected override void OnInit(EventArgs e)
        {
            this.dt.Columns.Add(new DataColumn("Id", typeof(int)));
            this.dt.Columns.Add(new DataColumn("Name", typeof(string)));
            DataRow row = this.dt.NewRow();
            row[0] = 0;
            row[1] = "";
            this.dt.Rows.Add(row);
            DataRow row2 = this.dt.NewRow();
            row2[0] = 1;
            row2[1] = "Madame";
            this.dt.Rows.Add(row2);
            DataRow row3 = this.dt.NewRow();
            row3[0] = 2;
            row3[1] = "Mademoiselle";
            this.dt.Rows.Add(row3);
            DataRow row4 = this.dt.NewRow();
            row4[0] = 3;
            row4[1] = "Monsieur";
            this.dt.Rows.Add(row4);
        }
    }
    Cet exemple rempli la source de données en dur, mais tu peux très bien le faire avec une requête sql.
    Avantage supplémentaire, ils sont réutilisables et apparaissent dans la ToolsBox.
    A+

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/01/2009, 10h12
  2. Réponses: 1
    Dernier message: 11/06/2008, 14h30
  3. Réponses: 5
    Dernier message: 03/07/2007, 11h25
  4. Réponses: 2
    Dernier message: 16/05/2007, 17h13
  5. Réponses: 7
    Dernier message: 01/08/2006, 17h02

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