使用gridview新增一條記錄

gridview控件本身並不支持新增記錄.一般情況是通過 DetailView 或 FormView 來新增記錄的.

但是我可以過GridView 的 FooterTemplate來實現新增功能.請看以下代碼:

 

<% @ Page Language = " C# "  ClassName = " Default_aspx "   %>

 
<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.1//EN "   " http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd " >

< script runat = " server " >

< script runat = " server " >

    
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();

    }


    
void  AddButton1_Click( object  sender, EventArgs e)

    
{

        GridView1.ShowFooter 
= true;

    }


     
void  CancelButton1_Click( object  sender, EventArgs e)

    
{

        GridView1.ShowFooter 
= false;

    }


</ script >

< html xmlns = " http://www.w3.org/1999/xhtml "   >

< head runat = " server " >

    
< title > Untitled Page </ title >

</ head >

< body >

    
< form id = " form1 "  runat = " server " >

    
< div >

    
< asp:Button ID = " AddButton1 "  runat = " Server "  Text = " Add new Item "  OnClick = " AddButton1_Click "   />

    
< asp:GridView ID = " GridView1 "  Runat = " server "  DataSourceID = " SqlDataSource1 "  DataKeyNames = " CustomerID "

            AutoGenerateColumns
= " False " >

            
< Columns >

                
< asp:TemplateField >

                    
< ItemTemplate >

                        
< asp:Label ID = " CustomerIDLabel "  Runat = " Server " ><% # Eval( " CustomerID " %></ asp:Label >

                    
</ ItemTemplate >

                    
< FooterTemplate >

                        
< asp:TextBox ID = " CustomerIDTextBox "   Runat = " server " ></ asp:TextBox >

                    
</ FooterTemplate >

                
</ asp:TemplateField >

                
< asp:TemplateField >

                    
< ItemTemplate >

                        
< asp:Label ID = " CompanyNameLabel "  Runat = " Server " ><% # Eval( " CompanyName " %></ asp:Label >

                    
</ ItemTemplate >

                    
< FooterTemplate >

                        
< asp:TextBox ID = " CompanyNameTextBox "  Runat = " server " ></ asp:TextBox >

                    
</ FooterTemplate >

                
</ asp:TemplateField >

                
< asp:TemplateField >

                    
< FooterTemplate >

                        
< asp:DropDownList ID = " ContactTitleDropDownList "  Runat = " server "  DataSourceID = " SqlDataSource2 "  DataTextField = " ContactTitle "  DataValueField = " ContactTitle " >

                        
</ asp:DropDownList >

                        
< asp:SqlDataSource ID = " SqlDataSource2 "  Runat = " server "  SelectCommand = " SELECT DISTINCT [ContactTitle] FROM [Customers] "

                            ConnectionString
= " <%$ ConnectionStrings:AppConnectionString1 %> " >

                        
</ asp:SqlDataSource >

                        
< asp:Button ID = " Button1 "  Runat = " server "  Text = " Add "  OnClick = " Button1_Click "   />

                        
< asp:Button ID = " CancelButton1 "  Runat = " server "  Text = " Cancel "  OnClick = " CancelButton1_Click "   />

                    
</ FooterTemplate >

                    
< ItemTemplate >

                        
< asp:DropDownList ID = " ContactTitleDropDown "  SelectedValue = ' <%# Bind("ContactTitle") %> '  Runat = " Server "  DataSourceID = " SqlDataSource3 "  DataTextField = " ContactTitle "  DataValueField = " ContactTitle "   ></ asp:DropDownList >

                        
< asp:SqlDataSource ID = " SqlDataSource3 "  Runat = " server "  SelectCommand = " SELECT DISTINCT [ContactTitle] FROM [Customers] "

                            ConnectionString
= " <%$ ConnectionStrings:AppConnectionString1 %> "  EnableCaching = " True " >

                        
</ asp:SqlDataSource >

                    
</ ItemTemplate >

                
</ asp:TemplateField >

            
</ Columns >

        
</ asp:GridView >

        
< 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
= " <%$ ConnectionStrings:AppConnectionString1 %> " >

            
< DeleteParameters >

                
< asp:Parameter Type = " String "  Name = " CustomerID " ></ asp:Parameter >

            
</ DeleteParameters >

            
< UpdateParameters >

                
< asp:Parameter Type = " String "  Name = " CompanyName " ></ asp:Parameter >

                
< asp:Parameter Type = " String "  Name = " ContactTitle " ></ asp:Parameter >

                
< asp:Parameter Type = " String "  Name = " CustomerID " ></ asp:Parameter >

            
</ UpdateParameters >

            
< InsertParameters >

                
< asp:Parameter Type = " String "  Name = " CustomerID " ></ asp:Parameter >

                
< asp:Parameter Type = " String "  Name = " CompanyName " ></ asp:Parameter >

                
< asp:Parameter Type = " String "  Name = " ContactTitle " ></ asp:Parameter >

            
</ InsertParameters >

        
</ asp:SqlDataSource >

    
</ div >

    
</ form >

</ body >

</ html >


GridView1.ShowFooter 屬性是控制footer是否顯示的.默認值是false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值