Gridview中添加按钮响应事件
Gridview控件里自带的行删除,更新功能仅有接口,没有响应事件的代码。要想实现对GridView中行的操作,可以通过添加自定义的按钮事件来实现。下面以添加自定义的删除按钮来说明。
打开GridView的Smart penl,点击编辑列,双击ButtonField,以添加按钮字段。BttonType选Butten,设置CommandName,如设为“Del”,那么这个“Del”就用来唯一标识这个按钮的响应命令。其他属性,如TEXT,Headertext,可根据需要自己设置。这样添加按钮字段就完成了,接下来配置按钮响应事件的接口。
打开GridView的属性页,点击事件。双击RowCommand右边的空白,就会转到.CS代码编辑页面,并自动生成按钮事件的接口。(如下图)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
说明:函数的参数e,传回来两个重要信息,一个是e.CommandName,另一个是e.CommandArgument。前者的值是按钮的标志,以方便在有两个以上按钮的时候选定特定的按钮。后者的值是按钮所在的行号。如,0,1,...
然而,对数据库的操作都是以数据表的主键来实现的,但e只传回来一个行号,这怎么办呢?
其实GridView是可以把行号和主键关联起来的。在GridView的属性页,把DataKeyNames的值设为该数据表的主键字段就可以了。如下:
int idx = Convert.ToInt16(e.CommandArgument .ToString());
string hid= GridView1.DataKeys[idx ].Value.ToString();
string hid= GridView1.DataKeys[idx ].Value.ToString();
idx的值便是按钮所在的行号,Hid的值便是第idx行的主键。
有了主键,数据库的操作就非常简单了。