ASP.net中GridView中增加一行记录并默认显示为编辑状态

//添加
    protected void Button1_Click(object sender, EventArgs e)
    {
      

        DataSet ds = (DataSet)pa.GetDataSet();//获得gridview中数据源
        DataTable dt = ds.Tables[0];//获得数据源中表
        DataRow dr = dt.NewRow();//在表中增加一行
        dt.Rows.Add(dr);//新行加入表中

        GridView1.EditIndex = dt.Rows.Count - 1;//将新加入的行置于编辑状态

        DataGridViewBind(dt);//绑定数据
       

    }

 //数据绑定,指定数据
    public void DataGridViewBind(DataTable dtPara)
    {
        GridView1.DataSource = dtPara;
        GridView1.DataBind();
    }

    此时界面上显示新增一行,并显示的字段都可编辑,只需输入数据,然后自己写保存到数据库表的程序。

//获得输入的值

//更新
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int intIDTemp = 0;

        if (GridView1.DataKeys[e.RowIndex].Value.ToString() != "")
        {
            intIDTemp = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
        }
        string strDaiMaTemp = ((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[3].Controls[0])).Text.Trim();
        string strMingChengTemp = ((TextBox)(GridView1.Rows[GridView1.EditIndex].Cells[4].Controls[0])).Text.Trim();

        pa.ID = intIDTemp;
        pa.DaiMa = strDaiMaTemp;
        pa.MingCheng = strMingChengTemp;
        pa.Save();

        GridView1.EditIndex = -1;
        DataGridViewBind();
    }

这种方法比较适合字段少的表,直接添加记录,但是如果有分页就不行了。因为分页是重新绑定数据了。
原文地址:https://www.cnblogs.com/robinli/p/3383367.html