DevExpress WinForms中文教程:Data Grid - 过滤编辑器

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress WinForms Grid控件附带了一个内置的Filter Editor(过滤编辑器对话框),允许最终用户使用树形过滤构建器界面或像Visual Studio IntelliSense一样带有提示的文本编辑器来构建任何复杂程度的过滤器标准。在本教程中,您将了解最终用户如何调用此对话框,哪些选项会影响其可用性,以及如何在显示对话框之前从代码中调用它并自定义它。

获取DevExpress WinForms v25.1正式版下载

调用过滤编辑器和创建简单的过滤器标准

要调用Filter Editor(过滤编辑器),右键单击任何列标题,并在上下文菜单中选择Filter Editor…。

DevExpress WinForms中文使用教程图集

默认情况下,Filter EditorFilter Editor(过滤编辑器)将过滤条件显示为树,其中各个节点表示简单的过滤条件。根节点是组合所有条件的逻辑运算符,任何过滤条件都由三部分组成:列名、标准操作符和操作数值。如果未过滤网格的数据,则编辑器将为所单击的列包含一个不完整的过滤条件。

DevExpress WinForms中文使用教程图集

单击数值框,在下拉列表中选择Medium。

DevExpress WinForms中文使用教程图集

单击OK关闭编辑器并应用更改。因此网格只显示优先级设置为Medium的记录,现在您可以使用Filter Panel(过滤面板)中的Edit Filter按钮来调用Filter Editor(过滤编辑器)。

DevExpress WinForms中文使用教程图集

要添加新的过滤条件,请单击根节点旁边的加号按钮(FilterEditor_EU_AddButton),这也可以通过单击逻辑运算符并选择Add Condition来完成。

DevExpress WinForms中文使用教程图集

在可用列列表中选择Name,然后使用Contains比较运算符并在值框中输入‘vendor’字符串。单击Apply来过滤数据,而不关闭编辑器。

DevExpress WinForms中文使用教程图集

网格现在显示具有中等优先级的记录,名称中包含‘vendor’。

DevExpress WinForms中文使用教程图集

删除过滤条件

现在通过单击FilterEditor_EU_DeleteButton按钮或在逻辑运算符的菜单中选择Clear All来删除所有过滤条件。

DevExpress WinForms中文使用教程图集

从多项目过滤条件中删除项目

用户可以从多项目过滤条件中选择特定的项目(例如,“Is Any Of”、“Is One Of”)并删除它们,使用键盘或“Ctrl+Click”选择需要配置的项,按Delete删除项目。

DevExpress WinForms中文使用教程图集

构造复杂的过滤条件

现在可以创建更复杂的过滤条件,要创建一个新的条件组,请单击根逻辑操作符并选择Add Group。

DevExpress WinForms中文使用教程图集

将创建的逻辑运算符更改为OR。

DevExpress WinForms中文使用教程图集

在该组中创建两个新条件,这些条件将选择具有高优先级或状态设置为New的记录。以同样的方式,再创建一个带有两个条件的OR条件组,这些条件将选择“创建日期”介于1月1日和今天之间的记录,或者“固定日期”大于4月1日的记录。

DevExpress WinForms中文使用教程图集

单击OK,使用创建的标准过滤数据,您将在筛选面板中看到整个筛选条件。

DevExpress WinForms中文使用教程图集

更改过滤编辑器样式

现在尝试一个不同的过滤条件编辑器UI,在设计时,访问视图的设置,展开ColumnView.OptionsFilter,并将ColumnViewOptionsFilter.DefaultFilterEditorView属性设置为FilterEditorViewMode.Text。

DevExpress WinForms中文使用教程图集

运行应用程序并调用过滤器编辑器,现在您可以直接在嵌入的富文本编辑器中输入过滤字符串。当输入过滤器时,会自动调用操作符和字段名的下拉列表,这很像Visual Studio的智能感知功能。

DevExpress WinForms中文使用教程图集

找到相同的属性并将编辑模式设置为FilterEditorViewMode.VisualAndText,过滤编辑器将在各自的选项卡中显示可视化和文本编辑器。

DevExpress WinForms中文使用教程图集

阻止最终用户调用过滤编辑器

如果您不希望最终用户从列标题菜单中调用对话框,请将ColumnViewOptionsFilter.AllowFilterEditor属性设置为false。

DevExpress WinForms中文使用教程图集

注意,过滤器面板的Edit Filter按钮也变得不可见。

在代码中调用和自定义过滤编辑器

返回到设计时,查看如何在代码中调用和自定义Filter Editor(过滤编辑器)。

在显示Show Filter Editor按钮的Click事件处理程序中,调用视图的ColumnView.ShowFilterEditor方法来可视样式调用过滤编辑器。

C#

private void btn_ShowFilterEditor_ItemClick(object sender, ItemClickEventArgs e) {
gridView.OptionsFilter.DefaultFilterEditorView = DevExpress.XtraEditors.FilterEditorViewMode.Visual;
gridView.ShowFilterEditor(null);
}

此外,处理视图的ColumnView.FilterEditorCreated事件,该事件在即将显示过滤器编辑器时引发。在事件处理程序中,使用事件的FilterControlEventArgs.FilterControl参数的FilterControl.AppearanceValueColor属性自定义值color。启用FilterControl.ShowOperandTypeIcon 选项,来允许将一列的值与其他列中的值或预定义常量进行比较。

C#

private void gridView_FilterEditorCreated(object sender, DevExpress.XtraGrid.Views.Base.FilterControlEventArgs e) {
e.FilterControl.AppearanceValueColor = Color.Red;
e.FilterControl.ShowOperandTypeIcon = true;
}

运行应用程序并单击Show Filter Editor按钮,在调用的编辑器中,添加一个新条件,然后单击现在显示在删除按钮左侧的操作数类型图标。

DevExpress WinForms中文使用教程图集

单击值框,选择Date and time constants,并选择This year

DevExpress WinForms中文使用教程图集

将比较运算符更改为小于,添加另一个条件,选择“优先级”为“中等”的记录。请注意,该值是使用事件处理程序中指定的红色绘制的。

DevExpress WinForms中文使用教程图集


更多DevExpress线上公开课、中文教程资讯请上中文网获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920872.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为云CCE

华为云CCE:重构云原生应用的全栈引擎 一、云原生时代的"操作系统" 在数字经济浪潮中,容器化和微服务架构已成为企业数字化转型的标配。华为云容器引擎(CCE)作为云原生领域的"操作系统",通过深度…

STM32——Uinx时间戳+BKP+RTC实时时钟

目录 一、Uinx时间戳 1.1Uinx简介 1.2UTC/GMT 1.3时间戳转换 1.3.1主要数据类型 1.3.2主要函数 1.3.3C语言时间戳转换示例 1.3.4时间格式化说明符 1.3.5注意事项 二、BKP 2.1BKP简介 2.2BKP基本结构 三、RTC 3.1RTC简介 3.2RTC框图 3.3RTC基本结构 3.4RTC硬件…

Java设计模式是什么?核心设计原则有哪些?

文章目录什么是设计模式?为什么使用设计模式?设计模式的核心设计原则是什么?1. 开闭原则(Open-Closed Principle, OCP)2. 里氏替换原则(Liskov Substitution Principle, LSP)3. 依赖倒置原则&am…

网络层和数据链路层

目录 1.网络层 2.数据链路层 1.网络层 我们知道,我们的消息为了从A端发送到B端,达成远距离传输,我们为此设计了很多协议层,分别是应用层,传输层,网络层,数据链路层,网卡&#xff0c…

Redis 的字典:像智能文件柜一样高效的哈希表实现

目录 一、从传统查找的痛点到哈希表的优势​ 二、哈希表的核心结构:文件柜的构成​ 2.1、 dictht 结构体:文件柜本体​ 2.2、dictEntry 结构体:带链条的文件夹​ 2.2.1、 哈希冲突的解决:抽屉里的链条​ 2.3、字典的高层封装…

FAST API部署和使用

第一部分:FastAPI 的使用(开发环境) 1. 安装 首先,你需要安装 FastAPI 和一个 ASGI 服务器,最常用的是 Uvicorn。 pip install "fastapi[standard]"这个命令会安装 FastAPI 以及所有推荐的依赖,包…

【JavaWeb】之HTML(对HTML细节的一些总结)

大家天天开心! 文章目录 前言一、HTML的简介二、HTML运行方式三、html 的标签/元素-说明四、表单注意事项总结 前言 首先我们在把Java基础学习完之后,我们就要进行网站方面的开发了,我们要了解网页的组成,而网页的组成有HTML,CSS,…

互联网医院品牌IP的用户体验和生态构建

一、患者体验与信任构建互联网医院品牌IP的价值核心在于获得患者的深度信任,而卓越的用户体验是实现这一目标的关键路径。在医疗服务同质化严重的当下,患者体验已成为医疗机构差异化竞争的重要维度。研究表明,良好的用户体验能够提高用户满意…

【Node.js教程】Express框架入门:从搭建到动态渲染商品列表

前言 Visual Studio Code(简称VSCode)是微软开发的一款免费开源跨平台代码编辑器,凭借其免费、开源、跨平台的特性,以及丰富的插件生态和美观的界面,成为前端开发者的首选工具。 本文将带你从零开始学习Express框架,包括搭建项目、配置路由、使用中间件以及实现动态渲染…

众擎机器人开源代码解读

一,综述 EngineAI ROS 包: 高层开发模式:用户可通过发布身体速度指令,直接调用 EngineAI 机器人的行走控制器。底层开发模式:用户可通过发布关节指令,自主开发专属的控制器。 ROS2 package:全…

Windows系统安装Git详细教程

文章目录步骤 1:下载 Git 安装包步骤 2:运行安装程序步骤 3:选择安装路径步骤 4:选择组件步骤 5:选择默认编辑器步骤 6:选择路径环境变量步骤 7:选择 HTTPS 协议的传输方式步骤 8:配…

leetcode 3446. 按对角线进行矩阵排序 中等

给你一个大小为 n x n 的整数方阵 grid。返回一个经过如下调整的矩阵:左下角三角形(包括中间对角线)的对角线按 非递增顺序 排序。右上角三角形 的对角线按 非递减顺序 排序。示例 1:输入: grid [[1,7,3],[9,8,2],[4,…

携程旅行 web 验证码 分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 部分python代码 result cp…

JavaEE 进阶第一期:开启前端入门之旅(上)

专栏:JavaEE 进阶跃迁营 个人主页:手握风云 一、HTML基础 1.1. 什么是HTML HTML(Hyper Text Markup Language),超文本标记语言。 超文本:比文本要强大,通过链接和交互式方式来组织和呈现信息的文本形式。不仅仅有文本…

4.5 PBR

1.PBR简介 2.高光工作流 3.金属工作流1.PBR简介 PBR(Physically Based Rendering, 基于物理的渲染)的工作流分为金属工作流和高光工作流2.高光工作流 高光工作流是一种传统的工作流, 现在用的相对较少, 但是在某些特定情况下能提供更精细的控制a.核心思想它不区分金属和非金属,…

09.《路由基础知识解析和实践》

09.路由基础 文章目录09.路由基础核心概念路由关键组成部分三层转发原理介绍(通信流程)路由类型及配置直连路由(direct)实验示例**静态路由(Static)****实验示例****动态路由****RIP(routing information protocol---路…

websocket建立连接过程

1. 客户端发送一个GET的http请求,请求头要包含connection: upgradehost:localhost:8000。表明地址upgrade: websocket。指明升级的协议sec-websocket-key 。 安全验证密钥sec-websocket-version。 协议版本sec-websocket-accept 。对传过来的key进行加密…

Simulink库文件-一种低通滤波模块搭建方法

在汽车电控系统应用层开发中,经常会用到低通滤波模块,其主要作用是去除输入信号中的高频干扰,防止由于输入信号的干扰引起后续执行系统的非预期频繁波动。本文介绍简要介绍低通滤波的定义及作用,并介绍一种低通滤波模块simulink搭…

【C++游记】AVL树

枫の个人主页 你不能改变过去,但你可以改变未来 算法/C/数据结构/C Hello,这里是小枫。C语言与数据结构和算法初阶两个板块都更新完毕,我们继续来学习C的内容呀。C是接近底层有比较经典的语言,因此学习起来注定枯燥无味&#xf…

音视频学习(六十二):H264中的SEI

什么是SEI? 在 H.264 视频编码标准中,补充增强信息(Supplemental Enhancement Information,SEI) 是一种特殊的 NAL(网络抽象层)单元。它不像序列参数集(SPS)或图像参数集&#xff0…