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.
dropdownlist dans Grid view
en se servant du coach asp.net , voila la procedure:(en 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.