日期:2014-05-18  浏览次数:20492 次

一个GridView的问题,紧急求助!
我用GridView绑定到一个List <T>   (T是类)上,想在GridView上面实现删除功能,在GridView的OnRowDeleting事件的函数应该怎么写啊?举个小例子就行!
主要问题就是   点GridView上面的删除按钮时,我不知道怎么返回那一行的对应的T对象啊GridView.SelectedValue不对,GridView.SelectedRow也不对!

------解决方案--------------------
点GridView上面的删除按钮时,我不知道怎么返回那一行的对应的T对象啊
======>
你要重新实例化对象才行啊,没有实例化,怎么获取呢?

要实现删除功能,可以这样:
在GridView的DataKeys属性中设置主键,然后在OnRowDeleting事件里获取该主键,根据主键值删除相应记录。或者也可以把记录的关键字段的值保存在GridViewRow中的相关控件里,然后获取该值,并删除该记录。
GridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = (int)GridView.DataKeys[e.RowIndex].Values[ "Id "];
Delete(id); //删除记录
BindData(); //重新绑定数据

  //如果主键字段保存在其他相关的控件里,可以这样:
//GridView.Rows[e.RowIndex].FindControl( "ControlID ")
//然后获取该字段的值,然后就是根据关键字段的值来删除该记录

}