PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ASP.NET] Gridview und Dropdownlist mit statischen Items


Pompos
2010-05-18, 23:19:18
Hej,

ich möchte mittels eines GridViews eine List von Usern, die in einer Datenbank stehen, anzeigen. Ich möchte dabei auch die Edit, Update and Delete Funktionalität des GridViews nutzen. Es geht an und für sich auch erstmal problemlos. Jedoch habe ich die Spalte Userrole in der Tabelle. In der Tabelle kommt entweder der String "Admin" oder "Customer" vor.
Wenn ich nun auf Edit klicke, würde ich gern, dass für die Spalte Userrole eine Dropdownlist erscheint mit den beiden Möglichkeiten "Admin" und "Customer". Natürlich soll die bisherige Rolle des Nutzern selektiert sein. Achja... beim Update muss, dann die entsprechende Auswahl in lowercase in die Datenbank geschrieben werden.

Bisher habe ich es geschafft, dass das Gridview mit den Daten erscheint. Auch die Dropdownlist mit den beiden Auswahlmöglichkeiten erscheint. Die Auswahl wird aber noch nicht in der DB gespeichert.

Bei Google finde ich leider bisher nur Lösungvorschläge, wie ich die Dropdownlist mit Daten aus einer anderen DB-Tabelle füllen kann.

<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="TestDataContext" EnableUpdate="True" EnableDelete="True"
EntityTypeName=""
TableName="Users">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="user_id"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="name" HeaderText="Name"
SortExpression="name" />
<asp:TemplateField HeaderText="Role" SortExpression="role">
<ItemTemplate>
<%#Eval("role")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="customer">customer</asp:ListItem>
<asp:ListItem Value="admin">admin</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>