GridView RowCommand更新事件
我要对DataTable中的数据进行更新,网上找了很多例子都是从数据库更新数据,而我的数据是存在内存的,没有数据库,在GridView的RowCommand的事件中我该怎...
我要对DataTable中的数据进行更新,网上找了很多例子都是从数据库更新数据,而我的数据是存在内存的,没有数据库,在GridView的RowCommand的事件中我该怎样实现对
DataTable中的数据更新,求代码
DataTable dt // 数据源
请帮小弟写出RowCommand事件与RowUpdating中的代码谢谢 展开
DataTable中的数据更新,求代码
DataTable dt // 数据源
请帮小弟写出RowCommand事件与RowUpdating中的代码谢谢 展开
1个回答
展开全部
更新数据库的那种情况会咯?这种比更新数据库更简单了,首先,你的datatable里面肯定也有一个唯一id,然后根据你update那一行的id获取datatable的datarow,编辑你更新的字段。关键代码如下,试过是可以的,赚你这点分不容易啊,请采纳。
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
//你可以采用其他方法获取编辑后的值
TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName");
//我把datatable放在viewstate里面
DataTable dt = ViewState["dt"] as DataTable;
DataRow[] drs = dt.Select("Id=" + id);
//这里是关键点
drs[0].BeginEdit();
drs[0]["Name"] = txtName.Text;
drs[0].EndEdit();
GridView1.EditIndex = -1;
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
ViewState["dt"] = dt;
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
//你可以采用其他方法获取编辑后的值
TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName");
//我把datatable放在viewstate里面
DataTable dt = ViewState["dt"] as DataTable;
DataRow[] drs = dt.Select("Id=" + id);
//这里是关键点
drs[0].BeginEdit();
drs[0]["Name"] = txtName.Text;
drs[0].EndEdit();
GridView1.EditIndex = -1;
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
ViewState["dt"] = dt;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询