在 ASP.NET 2.0 中,GridView 支持修改/删除记录,但却不支持新增记录的功能,
通过实践,想出了一种办法,如果有人又更好的方法,可以贴出来共享。
主要步骤如下所示:
1.在GridView 的EmptyDataTemplate里放置一个普通的Html Table,以便在无数据时依旧显示表头,假设 ID 为 tbHeader,为下面用于新增功能的 Form 的各个控件提供说明;
2.在 GridView 下面,放置一个普通的 HTML 表格,列数和 GridView保持一致,只有一行,内部放入用于新增功能的各个控件,
3.在新增按钮事件里放入,主要代码如下:
Guid id = Guid.NewGuid();
DataRow dr = datatable.NewRow();
GridViewRow gv = (GridViewRow)((Button)sender).Parent.Parent;
TextBox Problem = (TextBox)gv.FindControl("Problem");
TextBox Score = (TextBox)gv.FindControl("Score");
dr["id"] = id;
dr["Problem"] = Problem.Text;
dr["Score"] = Score.Text;
datatable.Rows.Add(dr);
this.GridView1.DataSource = datatable;
this.GridView1.DataBind();
DataRow dr = datatable.NewRow();
GridViewRow gv = (GridViewRow)((Button)sender).Parent.Parent;
TextBox Problem = (TextBox)gv.FindControl("Problem");
TextBox Score = (TextBox)gv.FindControl("Score");
dr["id"] = id;
dr["Problem"] = Problem.Text;
dr["Score"] = Score.Text;
datatable.Rows.Add(dr);
this.GridView1.DataSource = datatable;
this.GridView1.DataBind();
3