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

简介:

    上一篇  Winform系列——好看的DataGridView折叠控件 中主要介绍了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,如需转载请自行联系原作者

目录
相关文章
|
9月前
|
JavaScript
fastadmin表格列表内部自定义按钮
fastadmin表格列表内部自定义按钮
161 0
fastadmin表格列表内部自定义按钮
|
9月前
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
486 0
|
XML Java 程序员
WPF使用AvalonEdit实现代码高亮显示、搜索、替换功能
很多工程软件拥有自己定义的脚本语言,作为程序员用惯了具有高亮显示和智能提示功能的编辑器,所以针对特定的脚本自己开发一个编辑器。主要采用WPF、C#语言以及AvalonEdit控件。
WPF使用AvalonEdit实现代码高亮显示、搜索、替换功能
|
数据库 C# 数据库管理
C#:Winfrom 实现DataGridView 自定义分页
今天给大家分享Winform实现DataGridView 自定义分页的案例,感兴趣的朋友可以一起来学习一下。 采用技术:C\#+Winform+Dapper+SQLite。
C#:Winfrom 实现DataGridView 自定义分页
|
C# C++
C# WinForm 按钮下拉列(SplitButton)简单使用示例
关于SplitButton网上有很多的示例教程,这里我就以 https://wyday.com/splitbutton/ 为例给大家简单的讲解下。
4655 0