kw66722
asked on
inner gridview with ascx - database does not update
I have an inner gridview with an ascx file. When I update the row of the inner gridview the field in the ascx file is null on the database. How can I get the stored procedure paramenter to recognize the ascx field? Below are the gridview and the ascx file.
<asp:GridView ID="ParentGrid" runat="server" AutoGenerateColumns="False " DataSourceID="Names" ShowHeader="False">
<Columns>
<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:Label ID="Key" runat="server" Text='<%# Bind("Key") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TB1" runat="server" Text='<%# Bind("Key") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Lab10" runat="server" Text='<%# Bind("name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="Lab10" runat="server" Text='<%# Bind("name") %>' ></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="DetailGrid" runat="server" DataSourceID="getData" AutoGenerateColumns="False " DataKeyNames="Keys">
<Columns>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="Save" />
<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" />
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="eventTeamHotel Key" Visible="False">
<EditItemTemplate>
<asp:TextBox ID="TxtB1" runat="server" Text='<%# Bind("Key") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Key") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" Number" >
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("number") %>' ></asp:Label>
</EditItemTemplate>
<ItemTemplate>
sp:Label ID="Label2" runat="server" Text='<%# Bind("number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<EditItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>' ></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Name") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" First Name">
<EditItemTemplate>
<asp:TextBox ID="FirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("FirstName") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Type" >
<ItemTemplate>
<asp:DropDownList ID="Type" runat="server" DataSourceID="Type" AppendDataBoundItems="true "
DataTextField="nam" DataValueField="Type" Enabled="false" SelectedValue='<%# Bind("Type")%>'>
<asp:ListItem Value="-1" Selected="True">Type Not Selected</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="Type" runat="server" DataSourceID="Type" AppendDataBoundItems="true "
DataTextField="nam" DataValueField="Type" SelectedValue='<%# Bind("Type")%>'>
<asp:ListItem Value="-1" Selected="True">Type</asp: ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Month" >
<EditItemTemplate>
<CCMON:ccmonth id="Month1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<CCMON:ccmonth id="Month1" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="getData" runat="server"
ConnectionString="<%$ ConnectionStrings %>"
updateCommand="sp_update_d etail" UpdateCommandType="StoredP rocedure">
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Key" Type="Int32" />
<asp:Parameter Name="number" Type="Int32" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="Type" Type="String" />
<asp:Parameter Name="Month" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Monthcalc.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="MonthCalc.ascx.v b" Inherits="MonthCalc" %>
<asp:DropDownList ID="Month" runat="server" SelectedValue='<%# Bind("Month")%>' >
</asp:DropDownList>
<asp:RequiredFieldValidato r ControlToValidate="Month" ID="MonthRFV" runat="server" ErrorMessage="RequiredFiel dValidator "></asp:Re quiredFiel dValidator >
Partial Class MonthCalc
Inherits System.Web.UI.UserControl
Protected Sub Month_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Month.Init
Dim intMonth As Integer
Dim intStart As Integer = DateTime.Now.Year
Dim intEnd As Integer = DateTime.Now.Year + 10
For intMonth = 1 To 12
Month.Items.Add(intMonth.T oString())
Next
Month.Items.Add(New ListItem("Month", "-1"))
End Sub
End Class
<asp:GridView ID="ParentGrid" runat="server" AutoGenerateColumns="False
<Columns>
<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:Label ID="Key" runat="server" Text='<%# Bind("Key") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TB1" runat="server" Text='<%# Bind("Key") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Lab10" runat="server" Text='<%# Bind("name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="Lab10" runat="server" Text='<%# Bind("name") %>' ></asp:Label>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="DetailGrid" runat="server" DataSourceID="getData" AutoGenerateColumns="False
<Columns>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="Save" />
<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" />
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="eventTeamHotel
<EditItemTemplate>
<asp:TextBox ID="TxtB1" runat="server" Text='<%# Bind("Key") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Key") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" Number" >
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("number") %>' ></asp:Label>
</EditItemTemplate>
<ItemTemplate>
sp:Label ID="Label2" runat="server" Text='<%# Bind("number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<EditItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>' ></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Name") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" First Name">
<EditItemTemplate>
<asp:TextBox ID="FirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("FirstName") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Type" >
<ItemTemplate>
<asp:DropDownList ID="Type" runat="server" DataSourceID="Type" AppendDataBoundItems="true
DataTextField="nam" DataValueField="Type" Enabled="false" SelectedValue='<%# Bind("Type")%>'>
<asp:ListItem Value="-1" Selected="True">Type Not Selected</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="Type" runat="server" DataSourceID="Type" AppendDataBoundItems="true
DataTextField="nam" DataValueField="Type" SelectedValue='<%# Bind("Type")%>'>
<asp:ListItem Value="-1" Selected="True">Type</asp:
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Month" >
<EditItemTemplate>
<CCMON:ccmonth id="Month1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<CCMON:ccmonth id="Month1" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="getData" runat="server"
ConnectionString="<%$ ConnectionStrings %>"
updateCommand="sp_update_d
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Key" Type="Int32" />
<asp:Parameter Name="number" Type="Int32" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="Type" Type="String" />
<asp:Parameter Name="Month" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Monthcalc.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="MonthCalc.ascx.v
<asp:DropDownList ID="Month" runat="server" SelectedValue='<%# Bind("Month")%>' >
</asp:DropDownList>
<asp:RequiredFieldValidato
Partial Class MonthCalc
Inherits System.Web.UI.UserControl
Protected Sub Month_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Month.Init
Dim intMonth As Integer
Dim intStart As Integer = DateTime.Now.Year
Dim intEnd As Integer = DateTime.Now.Year + 10
For intMonth = 1 To 12
Month.Items.Add(intMonth.T
Next
Month.Items.Add(New ListItem("Month", "-1"))
End Sub
End Class
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.