Mouse点击之后,复制GridView控件的数据行

时间:2022-03-25 00:04:40

本篇是实现用mouse点击GridView控件任意一行,把所点击的数据复制至另一个GridView控件上。

实现大概思路,把所点击的数据行的记录主键找出来,再去过滤数据源。

点击功能,已经实现,可以参考前一篇《Mouse单击高亮GridView数据行http://www.cnblogs.com/insus/p/3679580.html 它的方法是override render方法,来注册click事件。

就使用前一篇的程序来扩展吧。在html中,添加一个table,分左右两列,右边有放一个GridView控件,与左边的一样结构。

Mouse点击之后,复制GridView控件的数据行

去aspx.cs写click事件,存储点选记录的主键,过滤数据并绑定给右边的GridView控件。

Mouse点击之后,复制GridView控件的数据行

标记1,修改一下,把获取的数据存储于ViewState中。这样在演示中,不必每次都去读取数据库。

标记2,把ViewState的数据集绑定给原来的GridView控件。

标记3,宣告一个List<int>变量,将用它来存储mouse点选记录的主键。

标记4,在风页Page_load时,为Pks绑定数据。如果第一次绑定,只为其new一个List<int>实例。

标记5,为第二个GridView控件写一个方法,是为其绑定数据源。

标记6,获取点选的记录的主键,并添加至List<int>数据集中。

标记7,每次有数据变化,同时也更新Session的记录。

标记8,根据选择的记录主键值集来过滤数据源。最后的结果绑定给右边的GridVeiw控件。

实时演示:

Mouse点击之后,复制GridView控件的数据行