萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> viewstate和datatable動態錄入數據示例

viewstate和datatable動態錄入數據示例

 這篇文章主要介紹了viewstate和datatable動態錄入數據示例,需要的朋友可以參考下

   代碼如下: <%@ Page Language="C#" EnableViewState="true" %> <%@ Import Namespace="System.Data" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">   private DataTable stoveTable = null;   protected void Page_Load(object sender, EventArgs e)   {     if (!Page.IsPostBack)     {       //創建 EmptyDataTemplate       this.GridView_list.DataBind();     }   }     protected void GridView_list_RowDataBound(object sender, GridViewRowEventArgs e)   {     if (e.Row.RowType == DataControlRowType.DataRow)     {       String usage = DataBinder.Eval(e.Row.DataItem, "usage").ToString();       String steelKind = DataBinder.Eval(e.Row.DataItem, "steelKind").ToString();       String castingTon = DataBinder.Eval(e.Row.DataItem, "castingTon").ToString();       DropDownList x1 = e.Row.FindControl("x1") as DropDownList;       DropDownList x2 = e.Row.FindControl("x2") as DropDownList;       TextBox x3 = e.Row.FindControl("x3") as TextBox;       x3.Text = castingTon;       ListItem xx1 = x1.Items.FindByValue(usage);       if (xx1 != null) xx1.Selected = true;       ListItem xx2 = x2.Items.FindByValue(steelKind);       if (xx2 != null) xx2.Selected = true;     }   }     protected void LinkButton1_Click(object sender, EventArgs e)   {     DropDownList x1, x2;     TextBox x3;     if (GridView_list.Rows.Count == 0)     {       x1 = GridView_list.Controls[0].Controls[0].FindControl("x1") as DropDownList;       x2 = GridView_list.Controls[0].Controls[0].FindControl("x2") as DropDownList;       x3 = GridView_list.Controls[0].Controls[0].FindControl("x3") as TextBox;     }     else     {       GridViewRow r = GridView_list.FooterRow;       x1 = r.FindControl("x1") as DropDownList;       x2 = r.FindControl("x2") as DropDownList;       x3 = r.FindControl("x3") as TextBox;     }     if (ViewState["dt"] == null)     {       stoveTable = new DataTable();       stoveTable.Columns.Add("usage", typeof(String));       stoveTable.Columns.Add("steelKind", typeof(String));       stoveTable.Columns.Add("castingTon", typeof(String));     }     else     {       stoveTable = (DataTable)ViewState["dt"];     }     DataRow newRow = stoveTable.NewRow();     newRow["usage"] = x1.SelectedValue;     newRow["steelKind"] = x2.SelectedValue;     newRow["castingTon"] = x3.Text;     stoveTable.Rows.Add(newRow);       ViewState["dt"] = stoveTable;     this.GridView_list.DataSource = stoveTable;     this.GridView_list.DataBind();     }   protected void LinkButton2_Click(object sender, EventArgs e)   {     if (ViewState["dt"] == null)     {       return;     }     stoveTable = (DataTable)ViewState["dt"];     if (stoveTable.Rows.Count < 1) return;     stoveTable.Rows.RemoveAt(stoveTable.Rows.Count - 1);     ViewState["dt"] = stoveTable;     this.GridView_list.DataSource = stoveTable;     this.GridView_list.DataBind();   }     protected void x1_SelectedIndexChanged(object sender, EventArgs e)   {     DropDownList x1 = sender as DropDownList;     GridViewRow r = x1.Parent.Parent as GridViewRow;     if (ViewState["dt"] == null)     {       Response.Write("Error");       return;     }     stoveTable = (DataTable)ViewState["dt"];     stoveTable.Rows[r.RowIndex]["usage"] = x1.SelectedValue;     ViewState["dt"] = stoveTable;     this.GridView_list.DataSource = stoveTable;     this.GridView_list.DataBind();   }     protected void x2_SelectedIndexChanged(object sender, EventArgs e)   {     DropDownList x2 = sender as DropDownList;     GridViewRow r = x2.Parent.Parent as GridViewRow;     if (ViewState["dt"] == null)     {       Response.Write("Error");       return;     }     stoveTable = (DataTable)ViewState["dt"];     stoveTable.Rows[r.RowIndex]["steelKind"] = x2.SelectedValue;     ViewState["dt"] = stoveTable;     this.GridView_list.DataSource = stoveTable;     this.GridView_list.DataBind();   }     protected void x3_TextChanged(object sender, EventArgs e)   {       TextBox x3 = sender as TextBox;     GridViewRow r = x3.Parent.Parent as GridViewRow;     if (ViewState["dt"] == null)     {       Response.Write("Error");       return;     }     stoveTable = (DataTable)ViewState["dt"];     stoveTable.Rows[r.RowIndex]["castingTon"] = x3.Text;     ViewState["dt"] = stoveTable;     this.GridView_list.DataSource = stoveTable;     this.GridView_list.DataBind();   } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">   <title></title> </head> <body>   <form id="form1" runat="server">   <asp:GridView ID="GridView_list" runat="server" ShowFooter="true" AutoGenerateColumns="false"     OnRowDataBound="GridView_list_RowDataBound">     <EmptyDataTemplate>       <table style="border-collapse: collapse; width: 100%" cellspacing="0" rules="all"         border="1">         <tr>           <th scope="col">             選擇1           </th>           <th scope="col">             選擇2           </th>           <th scope="col">             輸入文字           </th>         </tr>         <tr><td>           <asp:DropDownList ID="x1" runat="server">             <asp:ListItem>L0</asp:ListItem>             <asp:ListItem>L1</asp:Li
copyright © 萬盛學電腦網 all rights reserved