DropDownList i GridView ved edit
Jeg har et lille spørgsmål angående DropDownList i GridView. I mit GridView har jeg et TemplateField med min DropDownList (se nedenfor), DataTextField="F_Activity" er en String og DataValueField="F_ExcerciseTypeID" er en int.Ovre i GridView’ets data source er der så et felt der også hedder F_Activity men er en int, og som relaterer til føromtalte F_ExcerciseTypeID.
Data hentes fint ind i GridView’et, og ved edit får jeg også vist DropDownList’en med den rigtige værdi valgt. Problemet opstår når jeg vil gemme mine ændringer. Nchar ’x’ kan ikke konverteres til int.
Jeg kan med min bedste vilje ikke finde en sql fejl, men har læst gisninger om at problemet måske kan være sådan noget som to felter med samme navn, men forskellige typer i de to tabeller.
Er der nogen der ud fra det her kan fortælle mig om det kan være der fejlen er, eller hvor jeg evt. skal kigge?
<asp:TemplateField HeaderText="Aktivitet" SortExpression="F_Activity">
<EditItemTemplate>
<asp:DropDownList ID="DropDownListEditActivity" SelectedValue='<%# Bind("F_Activity") %>' DataSourceID="SqlDataSourceEditActivity" runat="server" DataTextField="F_Activity" DataValueField="F_ExcerciseTypeID">
</asp:DropDownList>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("F_Activity") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:SqlDataSource ID="SqlDataSourceEditActivity" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringStatisticInfo %>"
DeleteCommand="DELETE FROM [T_ExcerciseType] WHERE [F_ExcerciseTypeID] = @F_ExcerciseTypeID"
InsertCommand="INSERT INTO [T_ExcerciseType] ([F_Activity]) VALUES (@F_Activity)"
SelectCommand="SELECT F_ExcerciseTypeID, F_Activity FROM T_ExcerciseType"
UpdateCommand="UPDATE [T_ExcerciseType] SET [F_Activity] = @F_Activity WHERE [F_ExcerciseTypeID] = @F_ExcerciseTypeID">
<DeleteParameters>
<asp:Parameter Name="F_ExcerciseTypeID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="F_Activity" Type="String" />
<asp:Parameter Name="F_ExcerciseTypeID" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="F_Activity" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceStatisticInfoEdit" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringStatisticInfo %>"
DeleteCommand="DELETE FROM [UserTrips] WHERE [F_UserTripsID] = @original_F_UserTripsID"
InsertCommand="INSERT INTO [UserTrips] ([F_UserID], [F_Date_Day], [F_Date_Month], [F_Date_Year], [F_Distance], [F_Hours], [F_Minutes], [F_Sekunds], [F_Activity]) VALUES (@F_UserID, @F_Date_Day, @F_Date_Month, @F_Date_Year, @F_Distance, @F_Hours, @F_Minutes, @F_Sekunds, @F_Activity)"
ProviderName="<%$ ConnectionStrings:ConnectionStringStatisticInfo.ProviderName %>"
SelectCommand="SELECT UserTrips.F_UserTripsID, UserTrips.F_UserID, UserTrips.F_Date_Day, UserTrips.F_Date_Month, UserTrips.F_Date_Year, UserTrips.F_Distance, UserTrips.F_Hours, UserTrips.F_Minutes, UserTrips.F_Sekunds, T_ExcerciseType.F_Activity FROM UserTrips INNER JOIN T_ExcerciseType ON UserTrips.F_Activity = T_ExcerciseType.F_ExcerciseTypeID WHERE (UserTrips.F_UserID = @F_UserID) ORDER BY UserTrips.F_Date_Year, UserTrips.F_Date_Month, UserTrips.F_Date_Day"
UpdateCommand="UPDATE UserTrips SET F_UserID = @F_UserID, F_Date_Day = @F_Date_Day, F_Date_Month = @F_Date_Month, F_Date_Year = @F_Date_Year, F_Distance = @F_Distance, F_Hours = @F_Hours, F_Minutes = @F_Minutes, F_Sekunds = @F_Sekunds, F_Activity = @F_Activity FROM UserTrips INNER JOIN T_ExcerciseType ON UserTrips.F_Activity = T_ExcerciseType.F_ExcerciseTypeID WHERE (UserTrips.F_UserTripsID = @original_F_UserTripsID)" OldValuesParameterFormatString="original_{0}">
<InsertParameters>
<asp:SessionParameter Name="F_UserID" SessionField="g" Type="String" />
<asp:Parameter Name="F_Date_Day" Type="String" />
<asp:Parameter Name="F_Date_Month" Type="String" />
<asp:Parameter Name="F_Date_Year" Type="String" />
<asp:Parameter Name="F_Distance" Type="Double" />
<asp:Parameter Name="F_Hours" Type="Int32" />
<asp:Parameter Name="F_Minutes" Type="Int32" />
<asp:Parameter Name="F_Sekunds" Type="Int32" />
<asp:Parameter Name="F_Activity" Type="Int32" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="F_UserID" Type="String" />
<asp:Parameter Name="F_Date_Day" Type="String" />
<asp:Parameter Name="F_Date_Month" Type="String" />
<asp:Parameter Name="F_Date_Year" Type="String" />
<asp:Parameter Name="F_Distance" Type="Double" />
<asp:Parameter Name="F_Hours" Type="Int32" />
<asp:Parameter Name="F_Minutes" Type="Int32" />
<asp:Parameter Name="F_Sekunds" Type="Int32" />
<asp:Parameter Name="original_F_UserTripsID" Type="Int32" />
<asp:Parameter Name="F_Activity" Type="Int32" />
</UpdateParameters>
<DeleteParameters>
<asp:Parameter Name="original_F_UserTripsID" Type="Int32" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter Name="F_UserID" SessionField="g" Type="String" />
</SelectParameters>
</asp:SqlDataSource>