I have a little problem with my gridview.
In Editmode I load a dropdownlist with content from my database (foreign key!).
When I save the changes and go after again in the editview, the dropdownlist shows the first entry from the table and not the value from the value that is saved. How can I set the default value in the dropdown to the value, that is set in the database, when I go in the editmode?
I hope my concern is understandable. Thank you very much for helping!
My Code (shorted)
<asp:DetailsView ID="dtvProjektdetails" runat="server" DataSourceID="sqlProjectDetails" AutoGenerateRows="False" DataKeyNames="ProjectID" DefaultMode="Edit" onitemupdating="dtvProjektdetails_ItemUpdating">
<Fields>
<asp:TemplateField HeaderText="Segment" SortExpression="FK_Segment">
<EditItemTemplate>
<asp:DropDownList ID="ddlSegment" runat="server" DataSourceID="sqlDSSegment" DataTextField="Segment" DataValueField="SegID">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
Datasource of the Dropdown (shorted)
<asp:SqlDataSource ID="sqlDSSegment" runat="server" ConnectionString="<%$ ConnectionStrings:CSLinker %>" SelectCommand="SELECT * FROM [tabSegment] ORDER BY Segment]"></asp:SqlDataSource>
Datasource of the Detailview:
<asp:SqlDataSource ID="sqlProjectDetails" runat="server"
ConnectionString="<%$ ConnectionStrings:CSLinker %>"
SelectCommand="SELECT * FROM [tabProjects] WHERE ([ProjectID] = @ProjectID)"
UpdateCommand="UPDATE [tabProjects] SET [Name] = @Name, [ProejctNo] = @ProejctNo, [Startdate] = @Startdate, [Enddate] = @Enddate, [FK_Owner] = @FK_Owner, [FK_Segment] = @FK_Segment, [FK_ProjectCategorie] = @FK_ProjectCategorie, [FK_ProjectFiles] = @FK_ProjectFiles, [FK_Mailings] = @FK_Mailings, [Botschaft] = @Botschaft, [Ziel] = @Ziel, [Callmenge] = @Callmenge, [Quote] = @Quote, [Zielgruppe] = @Zielgruppe, [Inboundnummer] = @Inboundnummer, [Wissen] = @Wissen, [Prozess] = @Prozess, [Goodies] = @Goodies, [FK_Sprachen] = @FK_Sprachen WHERE [ProjectID] = @ProjectID">
<SelectParameters>
<asp:ControlParameter ControlID="lblPID" Name="ProjectID" PropertyName="Text" Type="Int64" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="ProejctNo" Type="String" />
<%--<asp:Parameter Name="Description" Type="String" />--%>
<asp:Parameter Name="Startdate" Type="DateTime" />
<asp:Parameter Name="Enddate" Type="DateTime" />
<asp:Parameter Name="FK_Owner" Type="Int64" />
<asp:Parameter Name="FK_Segment" Type="Int64" />
<asp:Parameter Name="FK_ProjectCategorie" Type="Int64" />
<asp:Parameter Name="FK_ProjectFiles" Type="Int64" />
<asp:Parameter Name="FK_Mailings" Type="Int64" />
<asp:Parameter Name="Botschaft" Type="String" />
<asp:Parameter Name="Ziel" Type="String" />
<asp:Parameter Name="Callmenge" Type="String" />
<asp:Parameter Name="Quote" Type="String" />
<asp:Parameter Name="Zielgruppe" Type="String" />
<asp:Parameter Name="Inboundnummer" Type="String" />
<asp:Parameter Name="Wissen" Type="String" />
<asp:Parameter Name="Prozess" Type="String" />
<asp:Parameter Name="Goodies" Type="String" />
<asp:Parameter Name="FK_Sprachen" Type="Int64" />
<%--<asp:Parameter Name="FK_Agenten" Type="Int64" />--%>
<asp:Parameter Name="ProjectID" Type="Int64" />
</UpdateParameters>
</asp:SqlDataSource>
Set the selectedvalue – property of the dropdownlist: