龍騎少校

玩的就是技术。ko!!!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

介绍
平时使用GridView的时候经常要给每行加一个复选框,然后还需要放置一个单独的全选复选框,通过单击它来让这些复选框全选或取消全选,每次实现这样的功能都要写一段javascript,麻烦,所以扩展它。

控件开发
1、新建一个继承自GridView的类。

Code

2、新建一个JavaScriptConstant类,把我们要用到的javascript存在一个常量里

 

Code

 

3、新建一个CheckboxAll类,有两个属性

 

Code

 

4、新建一个继承自CollectionBase的类CheckboxAlls

 

Code

 

5、在继承自GridView的类中加一个复杂对象属性,该复杂对象就是第4步创建的那个CheckboxAlls

 

Code

 

6、声明一些内部属性

Code

 

7、声明几个私有变量

Code

 

8、重写OnRowDataBound以给我们声明的那些私有变量赋值。

 

Code

 

9、重写GridView的OnPreRender方法,以实现每行复选框的全选与取消全选的功能

 

Code

 

控件使用
添加这个控件到工具箱里,然后拖拽到webform上,在模板列的头模板处添加一个复选框,在模板列的项模板处添加一个复选框,设置控件的CheckboxAlls属性即可。CheckboxAllID是模板列全选复选框ID;CheckboxItemID是模板列项复选框ID。
ObjData.cs

Code

 

Default.aspx

Code