程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> viewstate和datatable動態錄入數據示例

viewstate和datatable動態錄入數據示例

編輯:關於ASP.NET

     這篇文章主要介紹了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:ListItem>             <asp:ListItem>L2</asp:ListItem>             <asp:ListItem>L3</asp:ListItem>           </asp:DropDownList>         </td><td>           <asp:DropDownList ID="x2" runat="server">             <asp:ListItem>10#</asp:ListItem>             <asp:ListItem>20#</asp:ListItem>             <asp:ListItem>30#</asp:ListItem>             <asp:ListItem>40#</asp:ListItem>           </asp:DropDownList>         </td><td>           <asp:TextBox ID="x3" runat="server"></asp:TextBox>         </td></tr>       </table>     </EmptyDataTemplate>     <Columns>       <asp:TemplateField HeaderText="選擇1">         <ItemTemplate>           <asp:DropDownList ID="x1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x1_SelectedIndexChanged">             <asp:ListItem>L0</asp:ListItem>             <asp:ListItem>L1</asp:ListItem>             <asp:ListItem>L2</asp:ListItem>             <asp:ListItem>L3</asp:ListItem>           </asp:DropDownList>         </ItemTemplate>         <FooterTemplate>           <asp:DropDownList ID="x1" runat="server">             <asp:ListItem>L0</asp:ListItem>             <asp:ListItem>L1</asp:ListItem>             <asp:ListItem>L2</asp:ListItem>             <asp:ListItem>L3</asp:ListItem>           </asp:DropDownList>         </FooterTemplate>       </asp:TemplateField>       <asp:TemplateField HeaderText="選擇2">         <ItemTemplate>           <asp:DropDownList ID="x2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x2_SelectedIndexChanged">             <asp:ListItem>10#</asp:ListItem>             <asp:ListItem>20#</asp:ListItem>             <asp:ListItem>30#</asp:ListItem>             <asp:ListItem>40#</asp:ListItem>           </asp:DropDownList>         </ItemTemplate>         <FooterTemplate>           <asp:DropDownList ID="x2" runat="server">             <asp:ListItem>10#</asp:ListItem>             <asp:ListItem>20#</asp:ListItem>             <asp:ListItem>30#</asp:ListItem>             <asp:ListItem>40#</asp:ListItem>           </asp:DropDownList>         </FooterTemplate>       </asp:TemplateField>       <asp:TemplateField HeaderText="輸入文字">         <ItemTemplate>           <asp:TextBox ID="x3" runat="server" AutoPostBack="true" OnTextChanged="x3_TextChanged"></asp:TextBox>         </ItemTemplate>         <FooterTemplate>           <asp:TextBox ID="x3" runat="server"></asp:TextBox>         </FooterTemplate>       </asp:TemplateField>     </Columns>   </asp:GridView>   <asp:LinkButton ID="LinkButton1" runat="server" Text="添加內容" OnClick="LinkButton1_Click"></asp:LinkButton>   <asp:LinkButton ID="LinkButton2" runat="server" Text="刪除內容" OnClick="LinkButton2_Click"></asp:LinkButton>   </form> </body> </html>  
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved