利用GridView和DetailsView共同显示数据:
在实际的操作中,经常需要用到点击一个表中的项目,然后在其页面上弹出一个小的窗口显示其详细信息这样的情况。这个时候,就需要用到GridView和DetailsView共用的情况了!
步骤:
1 建立一个SqlDataSource控件DataSource1充当两个数据显示控件的共同数据源。
2 把两个数据显示控件的DataSource全部绑定到DataSource1上.
3 将两个控件关联起来!这时候就要写少量的代码了!
先在向导中激活GridView的SelectIndexChanged事件,然后在其事件区域内写下如下的代码:
this.DetailsView1.PageIndex=(int)this.GridView.SelectDataKey.Value-1;
值得注意的是,有人把DetailsView的PageIndex属性和GridView的SelectRow.DataItemIndex属性绑定起来,代码如下:
this.DetailsView1.PageIndex = this.GridView1.SelectedRow.DataItemIndex;
但是这样写的话,不免会产生翻页以后,第二页和第一页的第1、2、3、4....项显示的DetailsView的内容相同,也就不能真正的实现“一对一”的连动效果!
按我的想法,向这样点击数据绑定控件中的某一项而引发其它的控件显示的内容的时候,最好将被触发的事件与点击项的主键绑定起来,这样才能够实现“一对一”的连动效果!
2006.10.24.22:44
浙公网安备 33010602011771号