关于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要多很多,而且也强大了不少。欢迎大家有什么问题再来一起交流哦。

你可能感兴趣的:(GridView)