asp.net 2.0中用GRIDVIEW插入新记录

2004-09-27 10:35:42  作者

看了下国外某巨牛的BLOG,大概是讲asp.net 2.0中用GRIDVIEW插入新记录的,方法比较非凡,但效果一般,故将程序转之,较为简单,不做解释等。
%26lt;%@ Page Language="C#" ClassName="Default_aspx" %%26gt;

%26lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"%26gt;

%26lt;script runat="server"%26gt;
void CancelButton1_Click(object sender, EventArgs e)
{

GridView1.ShowFooter = false;

}
void AddButton1_Click(object sender, EventArgs e)
{

GridView1.ShowFooter = true;

}

void Button1_Click(object sender, EventArgs e)

{

TextBox customerID = GridView1.FooterRow.FindControl("CustomerIDTextBox") as TextBox;

TextBox companyName = GridView1.FooterRow.FindControl("CompanyNameTextBox") as TextBox;

DropDownList ContactTitle = GridView1.FooterRow.FindControl("ContactTitleDropDownList") as DropDownList;

SqlDataSource1.InsertParameters["CustomerID"].DefaultValue = customerID.Text;

SqlDataSource1.InsertParameters["CompanyName"].DefaultValue = companyName.Text;

SqlDataSource1.InsertParameters["ContactTitle"].DefaultValue = ContactTitle.SelectedValue;

SqlDataSource1.Insert();

}

%26lt;/script%26gt;

%26lt;html xmlns="http://www.w3.org/1999/xhtml" %26gt;

%26lt;head id="Head1" runat="server"%26gt;

%26lt;title%26gt;Untitled Page%26lt;/title%26gt;

%26lt;/head%26gt;

%26lt;body%26gt;

%26lt;form id="form1" runat="server"%26gt;

%26lt;div%26gt;
%26lt;asp:Button ID="AddButton1" runat="Server" Text="Add new Item" OnClick="AddButton1_Click" /%26gt;


%26lt;asp:GridView ID="GridView1" Runat="server" DataSourceID="SqlDataSource1" DataKeyNames="CustomerID"

AutoGenerateColumns="False" ShowFooter="True"%26gt;

%26lt;Columns%26gt;

%26lt;asp:TemplateField%26gt;

%26lt;ItemTemplate%26gt;

%26lt;asp:Label ID="CustomerIDLabel" Runat="Server"%26gt;%26lt;%# Eval("CustomerID") %%26gt;%26lt;/asp:Label%26gt;

%26lt;/ItemTemplate%26gt;

%26lt;FooterTemplate%26gt;

%26lt;asp:TextBox ID="CustomerIDTextBox" Runat="server"%26gt;%26lt;/asp:TextBox%26gt;

%26lt;/FooterTemplate%26gt;

%26lt;/asp:TemplateField%26gt;

%26lt;asp:TemplateField%26gt;

%26lt;ItemTemplate%26gt;

%26lt;asp:Label ID="CompanyNameLabel" Runat="Server"%26gt;%26lt;%# Eval("CompanyName") %%26gt;%26lt;/asp:Label%26gt;

%26lt;/ItemTemplate%26gt;

%26lt;FooterTemplate%26gt;

%26lt;asp:TextBox ID="CompanyNameTextBox" Runat="server"%26gt;%26lt;/asp:TextBox%26gt;

%26lt;/FooterTemplate%26gt;

%26lt;/asp:TemplateField%26gt;

%26lt;asp:TemplateField%26gt;

%26lt;FooterTemplate%26gt;

%26lt;asp:DropDownList ID="ContactTitleDropDownList" Runat="server" DataSourceID="SqlDataSource2" DataTextField="ContactTitle" DataValueField="ContactTitle"%26gt;

%26lt;/asp:DropDownList%26gt;

%26lt;asp:SqlDataSource ID="SqlDataSource2" Runat="server" SelectCommand="SELECT DISTINCT [ContactTitle] FROM [Customers]"

ConnectionString="server=localhost;uid=sa;password=xxx;database=northwind"%26gt;

%26lt;/asp:SqlDataSource%26gt;

%26lt;asp:Button ID="Button1" Runat="server" Text="Add" OnClick="Button1_Click" /%26gt;
%26lt;asp:Button ID="CancelButton1" Runat="server" Text="Cancel" OnClick="CancelButton1_Click" /%26gt;

%26lt;/FooterTemplate%26gt;

%26lt;ItemTemplate%26gt;

%26lt;asp:DropDownList ID="ContactTitleDropDown" SelectedValue='%26lt;%# Bind("ContactTitle") %%26gt;' Runat="Server" DataSourceID="SqlDataSource3" DataTextField="ContactTitle" DataValueField="ContactTitle" %26gt;%26lt;/asp:DropDownList%26gt;

%26lt;asp:SqlDataSource ID="SqlDataSource3" Runat="server" SelectCommand="SELECT DISTINCT [ContactTitle] FROM [Customers]"

ConnectionString="server=localhost;uid=sa;password=xxx;database=northwind" EnableCaching="True"%26gt;

%26lt;/asp:SqlDataSource%26gt;

%26lt;/ItemTemplate%26gt;

%26lt;/asp:TemplateField%26gt;

%26lt;/Columns%26gt;

%26lt;/asp:GridView%26gt;

%26lt;asp:SqlDataSource ID="SqlDataSource1" Runat="server"

InsertCommand="INSERT INTO [Customers] ([CustomerID], [CompanyName], [ContactTitle]) VALUES (@CustomerID, @CompanyName, @ContactTitle)"

SelectCommand="SELECT [CustomerID], [CompanyName], [ContactTitle] FROM [Customers]"

ConnectionString="server=localhost;uid=sa;password=xxxxx;database=northwind"%26gt;

%26lt;DeleteParameters%26gt;

%26lt;asp:Parameter Type="String" Name="CustomerID"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;/DeleteParameters%26gt;

%26lt;UpdateParameters%26gt;

%26lt;asp:Parameter Type="String" Name="CompanyName"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;asp:Parameter Type="String" Name="ContactTitle"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;asp:Parameter Type="String" Name="CustomerID"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;/UpdateParameters%26gt;

%26lt;InsertParameters%26gt;

%26lt;asp:Parameter Type="String" Name="CustomerID"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;asp:Parameter Type="String" Name="CompanyName"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;asp:Parameter Type="String" Name="ContactTitle"%26gt;%26lt;/asp:Parameter%26gt;

%26lt;/InsertParameters%26gt;

%26lt;/asp:SqlDataSource%26gt;

%26lt;/div%26gt;

%26lt;/form%26gt;

%26lt;/body%26gt;

%26lt;/html%26gt;