Bonjour à tous,
Une nouvelle question concernant une DropDownList embarquée (nested) dans une gridview, en asp.net 3.5.
J'ai un champ lu en base de données oracle qui contient uniquement "true" ou "false" (varchar) et je veux permettre à l'utilisateur, lors du mode édition de la gridview, de changer cette valeur via une dropdownlist.
Attention, je passe par une objet ObjectDataSource pour mes "select" et mes "update", je ne code rien en code behind pour l'instant.
Voilà le code que j'ai implémenté:
Lors de l'affichage classique de mon champ, j'ai mis un label "binder" au champ qui apparait avec la bonne valeur.
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 <Columns> <asp:CommandField ButtonType="Image" CancelImageUrl="~/ressources/gif/CancelRow.gif" EditImageUrl="~/ressources/gif/EditRow.gif" ShowEditButton="True" UpdateImageUrl="~/ressources/gif/ValidateRow.gif" /> <asp:BoundField DataField="id_WF" SortExpression="id_WF" ReadOnly="True" HeaderText="id_WF" Visible="true"></asp:BoundField> <asp:BoundField DataField="name" SortExpression="name" ReadOnly="True" HeaderText="Name"></asp:BoundField> <asp:BoundField DataField="published" SortExpression="published" ReadOnly="false" HeaderText="Published" Visible="true" ></asp:BoundField> <asp:TemplateField HeaderText="Published"> <ItemTemplate> <asp:label ID="lbPublished" Enabled="false" text='<%# Bind("published") %>' runat="server" /> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="ddlPublished" AutoPostBack="true" DataTextField="published" Enabled="true" runat="server"/> </EditItemTemplate> </asp:TemplateField> </Columns>
Dès que je passe en mode édition, je voudrais proposer uniquement les valeurs true/false dans ma DropDownList et mettre à jour le champ "binder" pour renvoyer l'update avec la bonne valeur renseignée par l'utilisateur.
Comment initialiser ma DropDownList avec uniquement deux valeurs true/false?
Comment binder cette nouvelle sélection avec mon label lbPublished?
Comment je dois m'y prendre?
Merci pour vos conseils,
Gaëlle.
Partager