Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

    上一篇  Winform系列——好看的DataGridView折叠控件 中主要介绍了DataGridview的表格多级折叠功能。这章主要介绍下最近封装的另一个DataGridview表格高级过滤的功能。此功能也是参照codeproject上面的源码改写的,代码可能有源码的内容,也有本人改写过的,所以看上去可能有点乱。废话不多说,上图:

 1、一般的DataGridview效果:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

2、增加了列上面右键效果:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

3、升序和降序就没什么说的了,看看点击过滤的效果吧:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

4、取消某一个字段过滤的方式有两种:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

5、取消所有字段的过滤:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

 

   

      大致效果就如上了。代码有点乱,如果有时间我会整理下,有兴趣的可以看看。

1、向外暴露的使用类:这个类主要功能是通过构造函数 public DgvFilterManager(DataGridView dataGridView, bool autoCreateFilters){}将DataGridview对象传进来,然后再给DataGridview增加事件和方法实现的。代码如下:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能) View Code

 

2、DgvBaseFilterHost这个用户控件作为弹出过滤框的基类,代码如下:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能) View Code

3、DgvBaseFilterHost的实现类

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能) View Code

 

4、DgvBaseColumnFilter这个用户控件作为过滤列选项的基类,代码如下:

Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能) View Code

5、DgvBaseColumnFilter的实现类有多个,分别定义不同类型的过滤列:

   5.1、Textbox原型的过滤子类

   5.2、ComboBox原型的过滤子类

 

 

应博友要求,附上源码。源码下载

源码可能和贴图上面不太一样,是因为贴图上面是和我们项目样式相关的,项目太大,无法贴上来。源码是测试功能用的,原来从别处下载下来改写了下,但功能和贴图上面是差不多的,有兴趣的可以看看。







本文转自懒得安分博客园博客,原文链接:http://www.cnblogs.com/landeanfen/p/4607251.html,如需转载请自行联系原作者