GridView CommandField 动态添加到最后一列

来源:互联网 发布:flash是什么软件 编辑:程序博客网 时间:2024/04/29 20:51

1、  GridView1.RowEditing += new GridViewEditEventHandler(GridView1_RowEditing); //添加编辑事件
          GridView1.RowDeleting += new GridViewDeleteEventHandler(GridView1_RowDeleting);

            GridView1.AlternatingRowStyle.BackColor = Color.FromArgb(0xF2, 0xF2, 0xF2);//偶数行的颜色
            GridView1.AutoGenerateColumns = false; //须取消自动绑定,否则会添加到第一列

2、  //遍历数据源所有的列,并绑定到gridview
        for (int i = 0; i < dt.Columns.Count; i++)
        {
            BoundField bc = new BoundField();
            bc.DataField = dt.Columns[i].ColumnName.ToString();

             bc.HeaderText = dt.Columns[i].Caption.ToString();

            bc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;//居中对齐
            GridView1.Columns.Add(bc);

4、

       //添加编辑列
        CommandField cf = new CommandField();//命令字段
        cf.ButtonType = ButtonType.Link;//超链接样式的按钮
        cf.ShowEditButton = true;//显示编辑按钮
        cf.CausesValidation = false;//引发数据验证为false
        cf.HeaderText = "编辑";
        cf.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
        GridView1.Columns.Add(cf);//添加编辑按钮到gridview


        ////添加删除列
        CommandField cf2 = new CommandField();
        cf2.ButtonType = ButtonType.Link;
        cf2.ShowDeleteButton = true;//显示删除按钮
        cf2.CausesValidation = false;
        cf2.HeaderText = "删除";
        cf2.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
        GridView1.Columns.Add(cf2);

5、
        GridView1.DataBind();

 

6、

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        int i = e.NewEditIndex;
        Response.Write("edit" + GridView1.Rows[i].Cells[0].Text.ToString());
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int i = e.RowIndex;
        Response.Write("delete:" + GridView1.Rows[i].Cells[0].Text.ToString());
    }