博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)
阅读量:6261 次
发布时间:2019-06-22

本文共 837 字,大约阅读时间需要 2 分钟。

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

 1、一般的DataGridview效果:

 

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

 

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

 

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

 

 

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

 

   

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

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

 
View Code

 

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

 
View Code

3、DgvBaseFilterHost的实现类

 
View Code

 

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

 
View Code

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

   5.1、Textbox原型的过滤子类

   5.2、ComboBox原型的过滤子类

 

 

应博友要求,附上源码。

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

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

你可能感兴趣的文章
[LeetCode] Count and Say 计数和读法
查看>>
android 中文api (84) —— TrafficStats
查看>>
【Android】不使用WebView来执行Javascript脚本(Rhino)
查看>>
[LeetCode] Longest Repeating Character Replacement 最长重复字符置换
查看>>
9.5. FAQ
查看>>
Oracle数据库 中的基础的一些语法结构
查看>>
HDU 1213 How Many Tables
查看>>
第 23 章 devel
查看>>
(转) The care and maintenance of your adviser
查看>>
【读书】领导力的5个层次-巅峰
查看>>
【阿里云MVP月度分享】基于PAI平台和Pokemon数据集判断精灵是否为极品精灵
查看>>
第 144 章 Sniffer
查看>>
第 47 章 Apache Tomcat
查看>>
设计模式之禅之设计模式-观察者模式
查看>>
Android 友盟分享躺过的几个坑,大坑,坑爹啊
查看>>
Java解析XML与生成XML文件
查看>>
Head First设计模式之备忘录模式
查看>>
UML九种图
查看>>
AOP的原理和实例
查看>>
通过SQL解读财富的分配(二)
查看>>