DropDownList in DetailsView

keks1984

Erfahrenes Mitglied
Hallo ich hab eine GridView welche eine Tabelle der DB anzeigt. Um Daten zu ändern zeige ich eine DetailsView an. SOWEIT passt das alles.

Ich hätte jetzt gern in der DetailsView (bei einem neuen Eintrag oder bei der Änderung eines bestehenden) eine DropDownList angezeigt. Wenn der Nutzer auf bearbeiten drückt soll er in der DropDownList den bisherigen Wert der DB anzeigen und wenn er den Wert ändern möchte dann kann er die DropDownList anklicken.

Ich bekomme das nicht hin dass in der DropDownList zuerst der Wert angezeigt wird, wie er in der DB abgespeichert ist bzw. wie er auch in der GridView drinnensteht.

Hier mal mein code:

<asp:GridView ID="Grid_System" runat="server" AutoGenerateColumns="false" DataSourceID="DS_System" Enabled="false" Visible="False" HorizontalAlign="justify" BorderStyle="Inset" DataKeyNames="Bezeichnung" AutoGenerateSelectButton="true">
<Columns>
<asp:BoundField DataField="Bezeichnung" HeaderText="<%$ Resources:message, adminauswahl_Bezeichnung %>" />
<asp:BoundField DataField="LKWArt" HeaderText="<%$ Resources:message, adminauswahl_LKWArt %>" />
</Columns>
<HeaderStyle BackColor="Silver" BorderStyle="Inset" />
</asp:GridView>

<asp:SqlDataSource ID="DS_System" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString %>"
SelectCommand="SELECT [LKWArt], [Bezeichnung] FROM [System]" />

<br />
<br />

<asp:detailsView ID="Details_System" runat="server" DataKeyNames="Bezeichnung" DataSourceID="DS_DetailsSystem"
AutoGenerateEditButton="True" AutoGenerateInsertButton="true" AutoGenerateRows="False" >
<Fields> <asp:BoundField DataField="Bezeichnung" HeaderText="<%$ Resources:message, adminauswahl_Bezeichnung %>" />
<asp:TemplateField HeaderText="<%$ Resources:message, adminauswahl_LKWArt %>">
<EditItemTemplate>
<asp:dropDownList ID="DropDownListLKWArt" runat="server" DataSourceID="DS_DropDown" DataValueField="Id" DataTextField="Id" AutoPostBack="True" />
<asp:SqlDataSource ID="DS_DropDown" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString%>"
SelectCommand="SELECT [Id] FROM [LKWArt]" />
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:detailsView>


<asp:SqlDataSource ID="DS_DetailsSystem" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString %>"
SelectCommand="SELECT [LKWArt], [Bezeichnung] FROM [System] WHERE ([Bezeichnung] = @Bezeichnung)"
UpdateCommand="UPDATE [System] SET [Bezeichnung] = @Bezeichnung, [LKWArt] = @LKWArt WHERE [Bezeichnung] = @Bezeichnung" InsertCommand="INSERT INTO [System] ([Bezeichnung], [LKWArt]) VALUES
(@Bezeichnung, @LKWArt)" >
<FilterParameters> <asp:ControlParameter Name="Bezeichnung" ControlId="Grid_System" PropertyName="SelectedValue" />
</FilterParameters>
<UpdateParameters>
<asp:parameter Name="LKWArt" Type="Int32" />
<asp:parameter Name="Bezeichnung" Type="String" />
</UpdateParameters>
<SelectParameters>
<asp:ControlParameter ControlID="Grid_System" Name="Bezeichnung" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<InsertParameters>
<asp:parameterName="Bezeichnung" Type="String" />
<asp:parameter Name="LKWArt" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>


SO ich hoffe da kann jemand was draus erkennen. Also die LKWArt Tabelle hat übrigens die Spalte Id und Bezeichnung! Und die Tabelle System hat die Spalten LKWArt, Bezeichnung.
 

Neue Beiträge

Zurück