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 :

DropDownList dans un GridView


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 57
    Par défaut DropDownList dans un GridView
    bonjour,
    je charge ma gridview a partir de ma base de données(table materiel), j'ai ajouté un champs de mise a jour a ma gridview, je veux quand je clique sur modification qu'un des champs(champs type de materiel) se transforme en dropdownlist pour choisir la valeur que je veux.

    est ce qu'il ya une solution pour remedier a ce probleme, et s'il ya une autre alternative n'hesiter pas.

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Bonjour,
    j'ai exactement la même question donc tu m'évites de poster un topic...

    Je suis en attente de réponses comme toi
    @+

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben ouais y a une solution, et en fait, y en a même plusieurs.
    Mais pour cela il faudrait savoir comment tu (enfin vous deux même) vous montes votre GridView.

    La solution sur je mets en place par du principde que le GridView est monté en CodeBehind, ou tout au moins en définition des Columns.
    Dans la partie Columns il faut mettre un Template et dans le Template il faut mettre un DropDonwList.

    J'ai pas de code sous la main (désolé) mais voilà le principe.

  4. #4
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    pour ma part j'ai fait un gridview en design et j'aimerais justement permettre sa modification...
    Le soucis est la présence des clefs étrangères qu'il faut gérer avec des listes déroulantes...
    Y'a t-il une technique autre que de commencer avec un gridview vide et d'ajouter les colonnes en codant? (par ex : dire en cliquant sur modifier le champs devient une liste déroulante etc)

  5. #5
    Membre chevronné Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Par défaut
    Le gridview possède un template d'edition. Bien sûr il faut convertir vos champs boundfield en template field, en tout cas pour la liste déroulante.
    Une fois ceci fait, vous aurez accès à EditItemTemplate et la vous mettez votre liste déroulante avec un sqldatasource correspondant aux valeurs/identifiants de votre liste déroulante.

    Une petite recherche sur le web et le coach asp.net approfondissent la technique. Pas besoin de code-behind à priori.

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Effectivement PredAlpha, pas besoin de CodeBehind, a priori.
    Mais au moindre cas particulier le CodeBehind devient obligatoire.

    Ou ne seraitce que pour envoyer une SQLDataSource avec un requête avec une clause Where dynamique, par exemple.

    Doc sans dire que c'est obligé, je me rends compte, à l'usage que si on commence par tout coder, ben on gagne du temps à la fin et au pire on gagne en souplesse.

    Tout ce que tu énonce est ralisable des deux côtés du code.

    Enfin, dans la FAQ ASP.NET, il y aussi quelques réponse.

    Sinon, ne vous inquitez pas, le CodeBehind n'est pas le côté obscur de .NET, mais plutôt la lumière envoyée par l'archange de la programation (Saint Bill).
    Tout va bien se passer, prends un bonbon et suis moi....................

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 57
    Par défaut dropdownlist dans Grid view
    en se servant du coach asp.net , voila la procedureen prend comme exemple une table qui contient Reg_Id et Reg_nom)

    •Sélectionnez le contrôle GridView--> Modifier les champs...

    •Dans la fenêtre Champs, sélectionnez le champ que tu veux le transformer en dropdownlist ici Reg_Id et cliquez Convertir ce champ en TemplateField pour le rendre disponible à la personnalisation.

    •Basculez en mode Source. La conversion de la colonne a généré un contrôle <asp :TemplateField> à la place du <asp :BoundField> , contenant les modèles <ItemTemplate> (lecture seule), <EditItemTemplate> (Edition) .

    •Modifiez tout d’abord le modèle en lecture seule : <ItemTemplate>. Il faudrait que la donnée liée soit Reg_nom plutôt que Reg_Id.
    •Il faudrait donc rajouter à la requête SELECT une jointure avec la table Regions pour rapatrier également les noms de région.

    •Vous pouvez maintenant changer la liaison dans le contrôle <asp :Label> du modèle <ItemTemplate> pour qu’elle lie la propriété Text du contrôle à la colonne Reg_Nom.
    <ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("Reg_Nom") %>'></asp:Label>
    </ItemTemplate>

    •Modifiez maintenant le modèle en édition : <EditItemTemplate>.
    Pour réaliser cela, il va vous falloir déclarer une autre source de données avec une requête SELECT sur la table Regions de façon à rapatrier toutes les régions et dessiner une liste déroulante liée à ce contrôle de données.

    •Affichez la balise active du contrôle DetailsView1 > Modifier les modèles…
    •Dans la balise active, sélectionnez Afficher : EditItemTemplate.
    •Supprimez le contrôle TextBox .

    •Faites un glisser déplace d'un SqlDataSource sur le modèle.
    •Renommez le contrôle dsRegions.
    •Dans la balise active du contrôle dsRegions, sélectionnez Configurer la source de données…
    •Faites un glisser déplacer d’un contrôle DropDownList sur le modèle.
    •Dans sa balise active, cliquez sur Choisir une source de données… pour le lier à la source dsRegions créée précédemment.
    •Dans la balise active de la DropDownList, cliquez sur Modifier les Databindings… et ajoutez Bind(« Reg_Id ») pour la propriété SelectedValue.
    •Cliquez sur la balise active > Terminer la modification du modèle.

    voila c tous si vous afficher le gridview en mode edition le dropdownlist va etre afficher, et il faut ajouter une requete de modification pour valider la modification.

    c facile mais il faut suivre la procedure pas a pas sans rien oublier, bon courage.

  8. #8
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Merci beaucoup pour cette procédure que je n'avais pas trouvé.

    Merci aussi pour les réponses

    @+

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

Discussions similaires

  1. Insérer une DropDownList dans une GridView
    Par Delphi-ne dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/05/2009, 09h15
  2. [ASP.NET][C#2] Ajout d'un dropdownlist dans un gridview
    Par Mouns007 dans le forum ASP.NET
    Réponses: 20
    Dernier message: 11/05/2009, 12h32
  3. Inclure une dropdownlist dans un gridview
    Par Delphi-ne dans le forum ASP
    Réponses: 1
    Dernier message: 31/08/2007, 10h41
  4. Réponses: 5
    Dernier message: 06/08/2007, 17h43
  5. Réponses: 2
    Dernier message: 27/05/2006, 18h26

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