本篇是实现用mouse点击GridView控件任意一行,把所点击的数据复制至另一个GridView控件上。
实现大概思路,把所点击的数据行的记录主键找出来,再去过滤数据源。
点击功能,已经实现,可以参考前一篇《Mouse单击高亮GridView数据行》http://www.cnblogs.com/insus/p/3679580.html 它的方法是override render方法,来注册click事件。
就使用前一篇的程序来扩展吧。在html中,添加一个table,分左右两列,右边有放一个GridView控件,与左边的一样结构。
去aspx.cs写click事件,存储点选记录的主键,过滤数据并绑定给右边的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控件。
实时演示: