现在的位置: 首页 > 综合 > 正文

关于GridView中选择当前行的问题。

2013年12月12日 ⁄ 综合 ⁄ 共 798字 ⁄ 字号 评论关闭
 关于GridView中选择当前行的问题。
 
很多朋友问,点击GridView中自定义的一个模版内的控件,如何知道是点击的哪一行。
可能很多朋友都是熟悉了DataGrid的模式,说GridView还没有DataGrid好。
其实GridView还是非常强大的。特别是配合DetailsView来使用。

其实如何得到当前选择的行呢,很简单,使用Parent属性就可以呀。
比如我们自定义了一个LinkButton,那么当我们点击这个控件时如何知道它在GridView中所在的行呢,很简单,请看下面的代码。

1    protected void LinkButton1_Command(object sender, CommandEventArgs e)
2    {
3        LinkButton lb = (LinkButton)sender;
4        DataControlFieldCell dcf = (DataControlFieldCell)lb.Parent;
5        GridViewRow gvr = (GridViewRow)dcf.Parent;
6        GridView1.SelectedIndex = gvr.RowIndex;
7    }

是不是很简单呀,我们使用第一个Parent属性的时候就会将LinkButton的范围扩大到DataControlFieldCell(当前按钮所在表格中的列单元),然后再使用一次Parent属性,可以再将列单元的范围扩大到GridViewRow(当前列单元所在的行单元),这个时候使用行单元的RowIndex属性就可以得到当前行所在表格的序号了。

所以请大家不要随便说GridView还不如DataGrid了哦。其时asp.net2.0的新控件比1.1要多很多,而且也强大了不少。欢迎大家有什么问题再来一起交流哦。

抱歉!评论已关闭.