zoukankan      html  css  js  c++  java
  • 动态GridView +DataTable

    <asp:GridView ID="GridView1" runat="server"
                    onrowediting="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowUpdating="GridView1_RowUpdating">
                    <Columns>
                        <asp:CommandField ShowEditButton="True" />
                        <asp:CommandField ShowDeleteButton="True" />
                    </Columns>
                </asp:GridView>
               
                <table>
                    <tr>
                        <td>text:<asp:TextBox ID="newtextTextBox" runat="server"></asp:TextBox></td>
                        <td>amount:<asp:TextBox ID="amountTextBox" runat="server"></asp:TextBox></td>
                    </tr>
                </table>
                <asp:Button ID="addnewlineButton" runat="server" Text="add new line" OnClick="addnewlineButton_Click" />

    cs

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataTable dt = new DataTable();

                dt.Columns.Add("text");
                dt.Columns.Add("amount");
                ViewState["table"] = dt;
                BindGrid();
            }

        }

        private void BindGrid()
        {
            DataTable dt = ViewState["table"] as DataTable;
            if (dt != null)
            {
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }

        }

        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            BindGrid();
        }

        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            BindGrid();
        }

        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            DataTable dt = ViewState["table"] as DataTable;
            if (dt != null)
            {
                dt.Rows.RemoveAt(e.RowIndex);
                GridView1.EditIndex = -1;
                BindGrid();
            }
           
        }

        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
             DataTable dt=ViewState["table"] as DataTable;
             if (dt != null)
             {
                 dt.Rows[e.RowIndex][0] = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
                 dt.Rows[e.RowIndex][1] = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
                 GridView1.EditIndex = -1;
                 BindGrid();

             }
        }

        protected void addnewlineButton_Click(object sender, EventArgs e)
        {
            DataTable dt=ViewState["table"] as DataTable;
            if (dt != null)
            {
                DataRow dr = dt.NewRow();
                dr[0] = newtextTextBox.Text;
                dr[1] = amountTextBox.Text;
                dt.Rows.Add(dr);
                ViewState["table"] = dt;

                BindGrid();
                newtextTextBox.Text = "";
                amountTextBox.Text = "";
               
            }

  • 相关阅读:
    事件代理(event的target属性)
    搜狗输入法软件分析
    软件工程概论项目——第7天
    软件工程概论项目——第6天
    软件工程概论项目-第5天
    软件工程概论项目——第四天
    软件工程概论项目——典型用户场景分析
    软件工程概论项目-第三天
    软件工程概论项目-第二天
    软件工程概论项目——第一天
  • 原文地址:https://www.cnblogs.com/hubj/p/1310758.html
Copyright © 2011-2022 走看看