zoukankan      html  css  js  c++  java
  • GridView 添加/删除行

    <body>
        <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                ForeColor="#333333" GridLines="None" ShowFooter="true" 
              onrowcommand="GridView1_RowCommand">
                <RowStyle BackColor="#EFF3FB" />
                <Columns>
                    <asp:TemplateField HeaderText="姓名">
                        <ItemTemplate>
                            <asp:TextBox ID="txtName" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name")%>'></asp:TextBox>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtAddName" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name")%>'></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="年龄">
                        <ItemTemplate>
                            <asp:TextBox ID="txtAge" runat="server" Width="50px" Text='<%#DataBinder.Eval(Container,"DataItem.Age") %>'></asp:TextBox>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtAddAge" runat="server" Width="50px" Text='<%#DataBinder.Eval(Container,"DataItem.Age") %>'></asp:TextBox>
                        </FooterTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Button ID="btnDel" runat="server" Text="删除" CommandName="del" CommandArgument='<%#Container.DataItemIndex %>'/>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:Button ID="btnAdd" runat="server" Text="添加" CommandName="add" />
                        </FooterTemplate>
                    </asp:TemplateField>
                </Columns>
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <EditRowStyle BackColor="#2461BF" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>
        </div>
        </form>
    </body>

    cs

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    InitTable();
                }
            }
            private void InitTable()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("Name"));
                dt.Columns.Add(new DataColumn("Age"));
                DataRow dr = dt.NewRow();
                dr["Name"] = "CY";
                dr["Age"] = "24";
                dt.Rows.Add(dr);
                ViewState["dt"] = dt;
                this.GridView1.DataSource = dt.DefaultView;
                this.GridView1.DataBind();
            }
            protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                DataTable dt = ViewState["dt"] as DataTable;
                if (e.CommandName == "add")
                {
                    DataRow dr = dt.NewRow();
                    GridViewRow row = ((GridViewRow)((Control)e.CommandSource).Parent.Parent);
                    dr["Name"] = (row.FindControl("txtAddName") as TextBox).Text;
                    dr["Age"] = (row.FindControl("txtAddAge") as TextBox).Text;
                    dt.Rows.Add(dr);
                }
                if (e.CommandName == "del")
                {
                    object obj = e.CommandArgument;
                    int index = Convert.ToInt32(e.CommandArgument);
                    dt.Rows.RemoveAt(index);
                }
                this.GridView1.DataSource = dt.DefaultView;
                this.GridView1.DataBind();
            }
  • 相关阅读:
    VisualSVN 服务不能自动启动的问题
    "There is already an open DataReader associated with this Command which must be closed first"错误
    LINQ 中调用存储过程自动绑定列名
    vs2008中调试iis7.0托管的程序
    SQL SERVER 2005的一个怪问题: 在查询结果面板中编辑失败.
    在VS2003下把一个DataTable Update 到数据库
    帮人解决一个小问题:QQ空间登录时脚本错误造成无法登入
    关于Sys未定义错误
    多层母版页嵌套中, 内层母版页的事件默认不触发
    线程同步
  • 原文地址:https://www.cnblogs.com/ileaves/p/2532436.html
Copyright © 2011-2022 走看看