当前位置: 首页 > news >正文

Filter and Search 筛选和搜索

Goto Data Grid 数据网格

Filter and Search 筛选和搜索

Filter Drop-down Menus (Excel-style) 筛选器下拉菜单(Excel 样式)

要调用列的筛选器下拉菜单,请单击列标题中的筛选器图标。在 “Values” 选项卡中,用户可以从 Data Grid 显示的单元格值中选择特定的单元格值。

在这里插入图片描述
“过滤器”选项卡为用户提供了更广泛的过滤器选项池。例如,当用户按日期筛选数据时,您可以仅显示与上周对应的记录。

在这里插入图片描述
过滤器下拉菜单的内容取决于相关网格列显示的数据类型。例如,下图说明了当数据按数字列筛选时,此菜单的外观。

在这里插入图片描述
这种类型的过滤器下拉菜单称为 “Excel-style”,是 v17.1 及更高版本中的默认过滤器菜单类型。

Related API 相关 API

  • GridOptionsCustomization.AllowFilter — 禁用整个数据网格的数据筛选功能。
  • OptionsColumnFilter.AllowFilter — 禁用特定列的筛选功能。
  • ColumnView.ColumnFilterChanged — 当列的筛选条件更改时发生。当 Find Panel 完成搜索时,也会引发此事件。
  • ColumnViewOptionsFilter.ColumnFilterPopupMode — 如果您的 DevExpress 安装版本低于 v17.1,请将此设置切换到 Excel 以启用 Excel 样式的筛选器下拉菜单。
  • ColumnView.OptionsFilter — 提供对影响所有列的筛选器菜单的设置的访问。有关可用设置的列表,请参阅 ColumnViewOptionsFilter 类成员。
  • GridColumn.OptionsFilter — 提供对特定列的筛选设置的访问。有关可用设置的列表,请参阅 OptionsColumnFilter 类成员。
  • ColumnView.ShowFilterPopupExcel — 处理此事件以自定义 Excel 样式的筛选器。

请参阅以下主题以了解如何动态自定义 Excel 样式的菜单:高级筛选器和搜索概念。

Classic Filter Drop-down Menus 下拉菜单

数据网格可以显示经典的筛选器菜单,而不是 Excel 样式的下拉菜单。经典筛选器菜单包括 DateTime 列的日历和其他类型列的常规下拉菜单。

在这里插入图片描述

Related API: 相关 API:

  • ColumnViewOptionsFilter.ColumnFilterPopupMode — 将此属性设置为 Classic 以在 v17.1 及更高版本中启用经典筛选器下拉菜单。经典菜单已在旧版本中启用。
  • WindowsFormsSettings.DefaultSettingsCompatibilityMode — 允许您启用经典筛选器下拉菜单的替代属性。要启用经典筛选器菜单,请将此属性设置为 v16。
  • ColumnViewOptionsFilter.ColumnFilterPopupRowCount — 获取或设置常规下拉菜单可以同时显示的最大项数。
  • ColumnViewOptionsFilter.AllowColumnMRUFilterList — 如果启用此属性,则常规下拉列表会记住用户最近选择的值。这些值显示在默认的 “Custom” 项之前。
  • OptionsColumnFilter.ShowBlanksFilterItems — 获取或设置“(Blanks)”和“(Non Blanks)”项在筛选器下拉菜单中是否可用。
  • ColumnView.ColumnFilterChanged - 当列的筛选条件发生更改时发生。当 Find Panel 完成搜索时,也会引发此事件。

您还可以使用检查列表菜单而不是常规下拉菜单。

在这里插入图片描述

Related API: 相关 API:

  • OptionsColumnFilter.FilterPopupMode — 将属性设置为 CheckedList 以启用此筛选器菜单样式。

  • ColumnViewOptionsFilter.ShowAllTableValuesInCheckedFilterPopup — 获取或设置选中的筛选器下拉列表是显示所有数据源记录中的唯一值,还是仅显示满足当前筛选条件的记录中的唯一值。

  • ColumnView.ShowFilterPopupCheckedListBox — 此事件允许您修改检查列表筛选器菜单中的项目,包括标准的“全选”项目。

您还可以将日历筛选器菜单替换为选中列表。此外,您还可以在三种类型的基于日历的菜单之间进行选择:DateSmart(默认菜单类型)、DateAlt 和 Date。下图说明了 DateAlt 菜单。

在这里插入图片描述

所有这些菜单都包含相同的日历,该日历选择特定日期,但具有不同的日期间隔集。下表列出了其中的几个间隔。

Related API: 相关 API:

  • OptionsColumnFilter.FilterPopupMode — 将此属性设置为 Date、DateSmart 或 DateAlt 以选择所需的基于日历的下拉菜单。

  • OptionsColumnFilter.ImmediateUpdatePopupDateFilterOnCheck — 如果启用此设置,则在用户切换基于日历的菜单复选框后立即应用筛选器。

  • OptionsColumnFilter.ImmediateUpdatePopupDateFilterOnDateChange — 如果启用此设置,则在用户在基于日历的菜单中选择日期(或日期范围)后,将立即应用筛选器。

  • OptionsColumnFilter.ShowEmptyDateFilter — 获取或设置下拉菜单是否显示“Show Empty”筛选器。用户可以检查此筛选器以查看在相应的 DateTime 列中没有值的记录。

Automatic Filter Row 自动筛选行

在运行时筛选数据的另一种方法是使用 Automatic Filter Row。此行显示在常规数据行的上方,允许用户键入筛选条件值(包括“*”和“%”通配符)并选择筛选条件运算符(NotLike、Equals、Between 等)。

在这里插入图片描述
请注意,显示在 Automatic Filter Row 中的单元格编辑器会忽略其掩码,并允许用户输入任何字符。

请注意,如果 Auto Filter Row 单元格使用 RepositoryItemRichTextEdit 就地编辑器,则用户只能为此单元格选择“Like”筛选条件。其他条件(“开头为”、“等于”等)不适用于 RTF 值。

Related API: 相关 API:

  • GridOptionsView.ShowAutoFilterRow — 管理 Automatic Filter Row 的可见性。
  • OptionsColumnFilter.AllowAutoFilter — 允许您从 Automatic Filter Row (自动筛选行) 中排除特定列,而不隐藏整行。
  • GridView.PopupMenuShowing — 允许您隐藏或删除特定条件。
  • GridOptionsFilter.AllowAutoFilterConditionChange — 指定自动筛选行的条件选择器是否可见。如果禁用此选择器,则将使用以下运算符比较输入的值:“等于”(用于 CheckEdit、LookUpEdit 和 ImageComboBoxEdit 列)或“喜欢”(用于其他列)。
  • OptionsColumnFilter.AutoFilterCondition — 指定此列的筛选条件运算符(“Equals”、“Like”、“Greater”等)。
  • OptionsColumnFilter.ImmediateUpdateAutoFilter — 如果启用此设置,则数据网格将在用户修改筛选条件后立即筛选其记录。否则,在用户按 Enter 键或将焦点移动到另一个单元格之前,不会应用筛选器。
  • GridView.ShowAutoFilterConditionsMenu — 从代码中调用此方法以调用特定列的 Automatic Filter Row 弹出菜单。
  • GridView.GetAutoFilterValue、GridView.SetAutoFilterValue — 允许您检索当前应用的自动筛选行条件并从代码中应用新条件的方法。

Filter Panel Filter 面板

应用过滤器时,View (视图) 将显示一个过滤器面板。用户可以使用此面板来修改和删除当前过滤器。

在这里插入图片描述

Related API: 相关 API:

  • ColumnViewOptionsView.ShowFilterPanelMode — 管理筛选器面板的可见性。
  • ColumnView.ActiveFilterEnabled — 允许您打开或关闭当前筛选器。
  • ColumnViewOptionsFilter.AllowMRUFilterList — 允许您隐藏使用最近应用的筛选器调用列表的按钮。
  • ColumnViewOptionsFilter.AllowFilterEditor — 控制“编辑筛选器”按钮的可见性。

Incremental Search 增量搜索

用户可以聚焦网格列并开始键入。Data Grid 聚焦并突出显示第一个匹配记录。要查找其他记录,请按 Ctrl+Up 和 Ctrl+Down 热键。
在这里插入图片描述

  • GridOptionsBehavior.AllowIncrementalSearch — 启用或禁用增量搜索。
  • ColumnView.GetIncrementalText — 返回在增量搜索期间搜索的文本。
  • GridView.StartIncrementalSearch、GridView.StopIncrementalSearch — 从代码中调用这些方法以手动触发和取消增量搜索。

Filter Editor 过滤器编辑器

Filter Editor 对话框允许用户构建复杂的筛选条件,这些条件由多个表达式组合而成。要调用此对话框,用户可以执行以下操作之一:

  • 单击 Filter 面板中的 “Edit Filter”。
  • 在常规的下拉过滤器菜单中选择“(自定义)”。
  • 右键单击列标题并选择 “Filter Editor”。

在这里插入图片描述
您可以修改 ColumnViewOptionsFilter.DefaultFilterEditorView 属性,以启用筛选器编辑器的“文本”面板/选项卡,用户可以在其中手动键入筛选器表达式。
在这里插入图片描述

Related API: 相关 API:

  • ColumnViewOptionsFilter.AllowFilterEditor — 获取或设置筛选器编辑器是否可用。
  • ColumnView.CustomFilterDialog — 处理此事件以更改用户单击“自定义”筛选器下拉菜单项时的默认行为。请参阅以下主题以了解更多信息:高级筛选和搜索概念。
  • ColumnView.FilterEditorCreated — 当 Filter Editor 即将显示时,将触发此事件。该事件允许您自定义 Editor 对话框或阻止其显示。
  • ColumnViewOptionsFilter.UseNewCustomFilterDialog — 启用此属性后,用户不仅可以根据常量自定义值筛选 GridColumn 的值,还可以根据其他 GridColumn 的值进行筛选。
  • ColumnViewOptionsFilter.FilterEditorAggregateEditing — 此属性指定用户是否可以基于集合属性创建筛选器。

以下代码片段允许用户使用 SpinEdit 和 CalcEdit 编辑器筛选 “Price” 列数据。

在这里插入图片描述

private void GridView1_FilterEditorCreated(object sender, DevExpress.XtraGrid.Views.Base.FilterControlEventArgs e) {e.FilterControl.BeforeShowValueEditor += FilterControl_BeforeShowValueEditor;
}
RepositoryItemSpinEdit reSpinEdit = new RepositoryItemSpinEdit();
RepositoryItemCalcEdit reCalcEdit = new RepositoryItemCalcEdit();
private void FilterControl_BeforeShowValueEditor(object sender, DevExpress.XtraEditors.Filtering.ShowValueEditorEventArgs e) {if (e.CurrentNode.FirstOperand.PropertyName != "Price") return;RepositoryItemTextEdit item = null;if (e.FocusedElementIndex == 2)item = reSpinEdit;elseitem = reCalcEdit;item.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;item.Mask.EditMask = "c";e.CustomRepositoryItem = item;
}

Find Panel “查找”面板

“查找面板”允许用户应用临时筛选器,以一次筛选所有数据网格列中的数据。要调用此面板,请在运行时按 “Ctrl+F”。键入您需要搜索的文本,然后按 Enter 或单击“查找”。
在这里插入图片描述
请注意,“查找”面板不会突出显示包含 HTML 文本的单元格。

  • ColumnViewOptionsFind.AllowFindPanel — 管理“查找”面板的可用性。
  • ColumnViewOptionsFind.Behavior — 获取或设置是否隐藏与查询不匹配的记录。
  • ColumnViewOptionsFind.ParserKind — 如果输入到“查找”面板中的文本包含空格,则面板会将此字符串拆分为单独的逻辑块。ParserKind 设置指定如何将这些块组合到搜索查询中。
  • ColumnViewOptionsFind.Condition — 获取或设置数据网格搜索输入到“查找面板”中的字符串所依据的条件。
  • ColumnViewOptionsFind.FindMode — 获取或设置用户是必须按 Enter 还是单击“查找”按钮才能开始搜索,还是在一定延迟后自动启动(ColumnViewOptionsFind.FindDelay 属性)。
  • ColumnViewOptionsFind.AllowFindInExpandedDetails — 获取或设置是否在展开的详细信息视图中搜索数据。

Search in Column Headers 在列标题中搜索

您可以使用 GridView.OptionsFilter.InHeaderSearchMode 属性在 View 的列标题中启用内置搜索框。搜索框用于筛选列数据或按列搜索,具体取决于您选择的模式。

  • ‘TextFilter’ Mode ‘TextFilter’ 模式
    用户可以在搜索框中键入文本以筛选列。
  • ‘TextSearch’ Mode “TextSearch” 模式
    用户可以在搜索框中键入文本来搜索列数据。网格将突出显示与指定搜索字符串匹配的单元格文本。

相关文章:

Filter and Search 筛选和搜索

Goto Data Grid 数据网格 Filter and Search 筛选和搜索 Filter Drop-down Menus (Excel-style) 筛选器下拉菜单(Excel 样式) 要调用列的筛选器下拉菜单,请单击列标题中的筛选器图标。在 “Values” 选项卡中,用户可以从 Data …...

spark的学习-06

SparkSQL读写数据的方式 1)输入Source 方式一:给定读取数据源的类型和地址 spark.read.format("json").load(path) spark.read.format("csv").load(path) spark.read.format("parquet").load(path) 方式二&#xff1a…...

Linux C/C++ Socket 编程

本文目录 Linux C语言 socket 编程 client 端头文件 unistd.h & arpa/inet.h1. **unistd.h**2. **arpa/inet.h** socket() 创建套接字sockaddr_in 结构体inet_pton()connect()send()recv()send() 和 recv() 中的 flags 参数**默认行为(flags 0)的特…...

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…...

Spark 的容错机制:保障数据处理的稳定性与高效性

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…...

TCP可靠连接的建立和释放,TCP报文段的格式,UDP简单介绍

TCP连接的建立(三次握手) 建立连接使用的三报文 SYN 报文仅用于 TCP 三次握手中的第一个和第二个报文(SYN 和 SYN-ACK),用于初始化连接的序列号。数据传输阶段不再使用 SYN 标志。 SYN 报文通常只携带连接请求信息&a…...

LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略

LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略 目录 zeroX的简介 1、支持的文件类型 zeroX的安装和使用方法 T1、Node.js 版本: 安装 使用方法 使用文件 URL: 使用本地路径&…...

开源数据库 - mysql - mysql-server-8.4(gtid主主同步+ keepalived热切换)部署方案

前置条件 假设主从信息 mysqlhostport主192.168.1.13306从192.168.1.23306vip192.168.1.3 部署流程 导出测试环境表结构与数据 使用mysqldump ./mysqldump -ulzzc -p -S /tmp/mysql3306.sock --single-transaction --database lzzc > databaseLZZCxxxx.sql查看gtid号 …...

Java全栈体系路线

Java全栈体系路线 摘要 Java 是一门广泛应用于企业级开发的语言,具有强大的生态系统和丰富的工具支持。成为一名 Java 全栈开发工程师不仅需要掌握后端开发技能,还需要具备前端开发和数据库管理的能力。本文将详细介绍 Java 全栈开发的学习路线&#x…...

【Unity基础】Unity中如何导入字体?

在Unity中,不能像其他软件一样直接使用字体文件,需要通过FontAssetCreator将其转换成Texture的Asset文件,然后才能使用。 本文介绍了使用FontAssetCreator导入字体的过程,并对其参数设置进行了说明。 Font Asset Creator 是 Uni…...

使用NVIDIA GPU加速FFmpeg视频压制:完全指南

引言 在视频处理领域,FFmpeg是一个强大的工具。结合NVIDIA的硬件编码器NVENC,我们可以实现快速高效的视频压制。本文将详细解析一个实用的视频压制命令,帮助你理解每个参数的作用。 核心命令 ffmpeg -i input.mp4 -vf scale640:360 -c:v h…...

Python学习:scipy是什么?

文章目录 一、Scipy简介二、Scipy的组成部分1. 基础功能:2. 特殊函数:3. 优化:4. 积分:5. 插值:6. 信号处理:7. 图像处理:8. 统计分布:9. 空间数据结构和算法:10. 稀疏矩…...

spark的学习-05

SparkSql 结构化数据与非结构化数据 结构化数据就类似于excel表中的数据(统计的都是结构化的数据)一般都使用sparkSql处理结构化的数据 结构化的文件:JSON、CSV【以逗号分隔】、TSV【以制表符分隔】、parquet、orc 结构化的表:…...

SQL注入(SQL Injection)详解

SQL注入(SQL Injection)是一种代码注入技术,它通过在应用程序的输入字段中插入或“注入”恶意的SQL语句,从而操控后端数据库服务器执行非预期的命令。这种攻击方式常用于绕过应用程序的安全措施,未经授权地访问、修改或…...

深入解析 OpenHarmony 构建系统-2-目录结构与核心组件

引言 OpenHarmony作为一款面向全场景的分布式操作系统,其构建系统在开发过程中扮演着至关重要的角色。本文将详细介绍OpenHarmony构建系统的目录结构和核心组件,帮助开发者更好地理解和使用这一强大的工具。 目录结构概览 以下是OpenHarmony构建系统的目录结构,每个目录和…...

网络安全应急响应(归纳)

目录 一、概述二、理论 系统排查 系统基本信息 windowsLinux用户信息 WindowsLinux启动项:开机系统在前台或者后台运行的程序,是病毒等实现持久化驻留的常用方法。 WindowsLinux任务计划:由于很多计算机都会自动加载“任务计划”&#xff0c…...

【网络协议栈】网络层(上)网络层的基本理解、IP协议格式、网络层分组(内附手画分析图 简单易懂)

绪论​ “It does not matter how slowly you go as long as you do not stop.”。本章是自上而下的进入网络协议栈的第三个篇幅–网络层–,本章我将带你了解网络层,以及网络层中非常重要的IP协议格式和网络层的分片组装问题,后面将持续更新网…...

数据库类型介绍

1. 关系型数据库(RDBMS) 关系型数据库是最常见的一类数据库,它们通过表(Table)来存储数据,表之间通过关系(如主键和外键)来关联。 • MySQL:开源的关系型数据库管理系统&…...

一步一步从asp.net core mvc中访问asp.net core WebApi

"从asp.net core mvc中访问asp.net core WebApi"看到这个标题是不是觉得很绕口啊,但的确就是要讲一讲这样的访问。前面我们介绍了微信小程序访问asp.net core webapi(感兴趣的童鞋可以看看前面的博文有关WEBAPI的搭建),这里我们重点不关心如何…...

linux中kubectl命令使用

一.命令介绍 kubectl 是 Kubernetes 集群管理的命令行工具,用于与 Kubernetes API 交互。你可以通过它来管理和操作 Kubernetes 集群中的资源,如 Pod、Deployment、Service 等。下面是如何在不同操作系统上下载和使用 kubectl 的方法。 二.下载 kubect…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用&#xff0c;前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率&#xff0c;还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库&#xff08;Naive UI、Element …...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等&#xff0c;设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...