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

DevExpress WinForms中文教程:Data Grid - Excel样式的自定义过滤器对话框

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

在本教程中,您将学习如何使用最终用户默认可用的Excel样式过滤器对话框、如何切换到允许您将一个字段的值与另一个字段的值进行比较的版本、如何在代码中手动调用和自定义这些对话框。

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

标准自定义过滤器对话框

要调用某个列的Excel样式过滤器对话框,请单击该列的过滤器按钮并在下拉框中选择 (Custom)。

DevExpress WinForms中文使用教程图集

对话框允许最终用户创建由AND或OR逻辑运算符组合的一个或两个条件组成的标准,将第一个条件的比较运算符更改为Is greater than(大于)。在右侧的对话框中,输入值10,让AND逻辑运算符保持选中状态。对于第二个条件,选择Is less than(小于)并输入值30,单击OK应用创建的过滤条件。

DevExpress WinForms中文使用教程图集

因此,网格显示的是单价在10美元到30美元之间的记录。

DevExpress WinForms中文使用教程图集

高级自定义过滤器对话框

关闭应用程序。选择View,展开它的ColumnView.OptionsFilter属性并启用ColumnViewOptionsFilter.UseNewCustomFilterDialog选项。

DevExpress WinForms中文使用教程图集

运行应用程序来查看更改,现在当您在列的过滤器下拉列表中选择(Custom)时,将使用一个不同版本的Custom Filter Dialog(自定义过滤器对话框),此对话框还提供将当前列值与另一列中的值进行比较的功能。通过选择Field复选框激活第一种条件下的此模式,并在下拉列表中选择Discount Price列。然后,将比较操作符更改为Does not equal。对于第二个条件,选择Is less than(小于)并输入值20,单击OK来仅显示那些在单价小于20时已分配折扣的记录。

DevExpress WinForms中文使用教程图集

在代码中调用和自定义过滤器对话框

下一步是查看如何在代码中调用和定制自定义筛选器对话框。

若要在Show Custom Filter Editor的Click事件处理程序中为类别列调用自定义筛选器对话框,请调用视图的ColumnView.ShowCustomFilterDialog方法并将类别列作为参数传递。

C#

private void btn_ShowCustomFilterDialog_ItemClick(object sender, ItemClickEventArgs e) {
gridView.ShowCustomFilterDialog(colCategory);
}

过滤器对话框可以在View的ColumnView.CustomFilterDialog事件中定制,该事件将在即将显示对话框时引发。为此事件编写一个处理程序,该处理程序将抑制Unit Price列的默认对话框,然后应用自定义筛选条件。事件的CustomFilterDialogEventArgs.Column参数标识要过滤的列,指定所需的筛选条件和要在筛选面板中显示的文本,并用这些设置创建一个新的ColumnFilterInfo对象,然后将新的过滤器项分配给事件的CustomFilterDialogEventArgs.FilterInfo参数。最后,将CustomFilterDialogEventArgs.Handled参数设置为true,以防止在事件执行后调用默认的FilterDialog。

C#

private void gridView_CustomFilterDialog(object sender, DevExpress.XtraGrid.Views.Grid.CustomFilterDialogEventArgs e) {
if (e.Column.FieldName != "UnitPrice") return;
string filterSting = "[UnitPrice] > 10 AND [UnitPrice] < 30";
string displayText = "[UnitPrice] > $10.00 AND [UnitPrice] < $30.00";
ColumnFilterInfo columnFilter = new ColumnFilterInfo(filterSting, displayText);
e.FilterInfo = columnFilter;
e.Handled = true;
}

运行应用程序并单击Show Custom Filter Editor按钮,将显示Category列的过滤器对话框。在调用的对话框中,指定两个条件来显示Beverages和Confections类别中的记录。现在调用Unit Price列的过滤器下拉菜单并选择(Custom),它选择单价在10到30之间的记录。

DevExpress WinForms中文使用教程图集


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

http://www.dtcms.com/a/351575.html

相关文章:

  • 在Excel和WPS表格中输入分数的两种方法
  • 自然处理语言NLP: 基于双分支 LSTM 的酒店评论情感分析模型构建与实现
  • PostgreSQL快速入门
  • 会议室预约小程序主要功能及预约审批流程
  • Java大厂面试全解析:从Spring Boot到微服务架构实战
  • Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析
  • ProfiNet转CAN/CANopen网关技术详解-三格电子
  • uniapp uview吸顶u-sticky 无效怎么办?
  • 利用Certbot生成ssl证书配置到nginx
  • Android之穿山甲广告接入
  • Flutter 项目命名规范 提升开发效率
  • 深度学习(三):PyTorch 损失函数:按任务分类的实用指南
  • Swift 解法详解 LeetCode 363:矩形区域不超过 K 的最大数值和
  • Unity游戏打包——Mac基本环境杂记
  • Android Glide生命周期管理:实现原理与最佳实践
  • ubuntu2204安装搜狗拼音输入法
  • 基于spark的招聘岗位需求分析可视化系统设计与实现
  • 《相关法律、法规知识(五)》
  • 【数据结构】串——模式匹配
  • 微服务-23.网关登录校验-自定义GlobalFilter
  • yggjs_rbutton React按钮组件v1.0.0 示例和教程
  • Java全栈开发面试实录:从基础到实战的深度探索
  • JVM 学习与提升路线总结:从入门到精通的系统化指南
  • 前端-如何将前端页面输出为PDF并打包的压缩包中
  • PDF转图片、图片转PDF(免费)
  • AI+drawio生成流程图探索
  • Python 操作 PPT 文件:从新手到高手的实战指南
  • 重构审计体验!批量生成报表项目底稿的凭证检查表
  • 计算机术语 / 数学术语中的 trivial 与 non-trivial
  • MD5校验算法