转:点击按钮添加行

陌路散爱 提交于 2019-12-25 03:14:47

前台代码

<%@   Page   Language= "C# "   AutoEventWireup= "true "   CodeFile= "GridMuliEdit.aspx.cs "   Inherits= "CSDN_GridMuliEdit "   %> <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html   xmlns= "http://www.w3.org/1999/xhtml "   > <head   runat= "server ">         <title> 无标题页 </title> </head> <body>         <form   id= "form1 "   runat= "server ">         <div>                 <asp:Button   ID= "Button1 "   runat= "server "   Text= "添加空行 "   OnClick= "Button1_Click "   />                 <asp:Button   ID= "Button2 "   runat= "server "   Text= "保存所有 "   OnClick= "Button2_Click "   />                 <asp:GridView   ID= "GridView1 "   runat= "server "   AutoGenerateColumns= "False "   DataKeyNames= "id ">                         <Columns>                                 <asp:TemplateField   HeaderText= "产品 ">                                         <ItemTemplate>                                                 <asp:TextBox   ID= "TextBox1 "   runat= "server "   Text= ' <%#   DataBinder.Eval(Container.DataItem,   "产品 ")%> '> </asp:TextBox>                                         </ItemTemplate>                                 </asp:TemplateField>                                 <asp:TemplateField   HeaderText= "数量 ">   <ItemTemplate>                                                 <asp:TextBox   ID= "TextBox2 "   runat= "server "   Text= ' <%#   DataBinder.Eval(Container.DataItem,   "数量 ")%> '> </asp:TextBox>                                         </ItemTemplate> </asp:TemplateField>                                 <asp:TemplateField   HeaderText= "日期 ">   <ItemTemplate>                                                 <asp:TextBox   ID= "TextBox3 "   runat= "server "   Text= ' <%#   DataBinder.Eval(Container.DataItem,   "日期 ")%> '> </asp:TextBox>                                         </ItemTemplate> </asp:TemplateField>                                 <asp:TemplateField   HeaderText= "状态 ">                                         <ItemTemplate>                                                 <asp:DropDownList   ID= "DropDownList1 "   runat= "server "     SelectedValue= ' <%#   DataBinder.Eval(Container.DataItem,   "状态 ")%> '>                                                         <asp:ListItem   Value= "1 "> 有效 </asp:ListItem>                                                         <asp:ListItem   Value= "0 "> 无效 </asp:ListItem>                                                 </asp:DropDownList>                                         </ItemTemplate>                                 </asp:TemplateField>                         </Columns>                 </asp:GridView>                 </div>         </form> </body> </html

后台代码:

using   System; using   System.Data; using   System.Web; using   System.Web.UI; using   System.Web.UI.WebControls; using   System.Web.UI.HtmlControls; public   partial   class   CSDN_GridMuliEdit   :   System.Web.UI.Page {         protected   void   Page_Load(object   sender,   EventArgs   e)         {                 if   (!IsPostBack)                 {                         BindTestData();                 }         }         protected   void   BindTestData()         {                 //模拟出一些原始数据绑定DataGrid                 DataTable   dt1   =   new   DataTable( "Table1 ");                 dt1.Columns.Add( "ID ");                 dt1.Columns.Add( "产品 ");                 dt1.Columns.Add( "数量 ");                 dt1.Columns.Add( "日期 ");                 dt1.Columns.Add( "状态 ");                 dt1.Rows.Add(new   object[]   {   123, "产品AA ",   12,   "2006-11-14 ",   "1 "   });                 dt1.Rows.Add(new   object[]   {   124,   "产品BB ",   21,   "2006-11-13 ",   "0 "   });                 dt1.AcceptChanges();                 this.GridView1.DataSource   =   dt1;                 this.GridView1.DataBind();         }         protected   DataTable   GetDataFromGrid()         {                 DataTable   dt1   =   new   DataTable( "Table1 ");                 dt1.Columns.Add( "ID ");                 dt1.Columns.Add( "产品 ");                 dt1.Columns.Add( "数量 ");                 dt1.Columns.Add( "日期 ");                 dt1.Columns.Add( "状态 ");                 for(int   i   =0;i <GridView1.Rows.Count;i++)                 {                         GridViewRow   gRow   =   GridView1.Rows[i];                         DataRow   newRow   =   dt1.NewRow();                         newRow[0]   =   GridView1.DataKeys[i].Value;                         newRow[1]   =   ((TextBox)gRow.FindControl( "TextBox1 ")).Text;                         newRow[2]   =   ((TextBox)gRow.FindControl( "TextBox2 ")).Text;                         newRow[3]   =   ((TextBox)gRow.FindControl( "TextBox3 ")).Text;                         newRow[4]   =   ((DropDownList)gRow.FindControl( "DropDownList1 ")).SelectedValue;                         dt1.Rows.Add(newRow);                 }                 dt1.AcceptChanges();                 return   dt1;         }         protected   void   Button1_Click(object   sender,   EventArgs   e)         {                 DataTable   dt   =   this.GetDataFromGrid();                 DataRow   newRow   =   dt.NewRow();                 newRow[ "状态 "]   =   "1 ";                 dt.Rows.Add(newRow);                 this.GridView1.DataSource   =   dt;                 this.GridView1.DataBind();         }         protected   void   Button2_Click(object   sender,   EventArgs   e)         {                 DataTable   dt   =   this.GetDataFromGrid();                 foreach   (DataRow   row   in   dt.Rows)                 {                         if   (row[ "ID "]   !=   null)                         {                                 //更新该行记录到数据库                         }                         else                         {                                 //插入该行记录到数据库                         }                 }         } } 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!