主页 > 知识库 > viewstate和datatable动态录入数据示例

viewstate和datatable动态录入数据示例

热门标签:电销业务 国美全国运营中心 人工智能 百度AI接口 科大讯飞语音识别系统 网站排名优化 客户服务 电商新玩法

复制代码 代码如下:

%@ 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>

您可能感兴趣的文章:
  • asp.net 生成静态时的过滤viewstate的实现方法
  • asp.net 去除viewstate
  • asp.net 禁用viewstate在web.config里
  • asp.net viewstate 回发机制
  • asp.net生成静态后冗余代码,去掉viewstate生成的代码
  • 使用正则Regex来移除网页的EnableViewState实现思路及代码
  • 状态保存机制之ViewState概述及应用
  • 禁止ViewState的3种解决方法
  • asp.net中ViewState的用法详解
  • ASP.NET中控件的EnableViewState属性及彻底禁用

标签:POS机 拉萨 厦门 攀枝花 益阳 咸宁 南平 枣庄

巨人网络通讯声明:本文标题《viewstate和datatable动态录入数据示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266