界面组件DevExpress WinForms v24.1 - 支持DateOnly TimeOnly类型

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

DevExpress WinForms控件2024年第一个重大版本——v24.1全新发布,此版本官宣支持DateOnly & TimeOnly类型、数据网格等组件功能进一步增强等,欢迎下载最新版体验!

DevExpress WinForms v24.1正式版下载(Q技术交流:532598169)

支持DateOnly & TimeOnly类型

DevExpress WinForms数据感知UI控件(比如数据网格和树列表)和日期编辑器现在支持DateOnly和TimeOnly数据类型(在.NET应用程序中),这些数据类型提供了以下优点(与传统的DateTime类型相比):使用清晰、改进的数据库兼容性、序列化期间更少的空间,以及减轻与不同时区相关的潜在错误/不一致的功能。

内置DateOnly/TimeOnly支持扩展到:

  • 与数据过滤相关的UI元素(列过滤器弹出,过滤器编辑器,表达式编辑器,自动过滤器行)
  • 条件格式规则
  • 数据总结
  • 数据分组
  • 未绑定列
  • 掩码
  • 搜索
  • 条件操作符

C#

gridView.ActiveFilterString = "[Date]=#!2022-02-01!#";

v24.1还在基于服务器的数据源中添加了DateOnly/TimeOnly类型支持:

  • EntityServerModeSource / EntityInstantFeedbackSource
  • LinqServerModeSource / LinqInstantFeedbackSource

您可以根据DateOnly和TimeOnly值对服务器模式源中的数据进行排序、分组和筛选,可以在过滤器表达式和未绑定列中使用与日期/时间相关的函数(例如AddHours()、GetDays()、DateDiffDays())。

Data Grid(数据网格)
合并单元格编辑

用户现在可以同时编辑合并区域中的所有单元格,也可以根据需要修改单独的单元格(在GridView和banddedgridview中)。使用新的MergedCellEditMode 属性来激活此特性,并指定用户如何编辑合并的单元格数据。

DevExpress WinForms v24.1产品图集

选项包括:

  • VisibleCells – 编辑合并区域中的数据单元格。
  • FocusedCell – 编辑聚焦行的合并区域中的数据单元格。
  • Disabled

C#

using DevExpress.XtraGrid.Views.Grid;// Allows users to edit data cells in a merged range.
gridView1.OptionsView.MergedCellEditMode = MergedCellEditMode.VisibleCells;
在查找面板中显示自定义UI元素

v24.1包括新的API,用于在查找面板中显示预定义和/或自定义UI控件,有了这个新选项,您可以在使用DevExpress查找面板时构建完全可定制/个性化的界面。

DevExpress WinForms v24.1产品图集

使用view.FilterPanelItems在WinForms应用中引入自定义的查找面板UI元素:

  • AddControl — 显示指定的UI控件。
  • AddButton — 显示按钮。
  • AddCheckButton — 显示选中的按钮。
  • AutoHeight — 更新查找面板高度来匹配UI元素。
  • RemoveItem / RemoveItems – 从查找面板中删除指定的UI元素。

C#

// This code snippet comes from the Find Panel module in our WinForms Data Grid demo (v24.1).
CheckButton showCustomButton = null;
void ceShowCustomButton_CheckedChanged(object sender, EventArgs e) {
CheckEdit customButton = sender as CheckEdit;
if(customButton.Checked) {
showCustomButton = view.FindPanelItems.AddCheckButton(customButtonName, null, view.OptionsFind.Behavior != FindPanelBehavior.Search,
(button, args) => {
CheckButton checkButton = button as CheckButton;
view.OptionsFind.Behavior = checkButton.Checked ? FindPanelBehavior.Filter : FindPanelBehavior.Search;
checkButton.ToolTip = "Find Panel Mode";
icbFindPanelBehavior.EditValue = view.OptionsFind.Behavior;
});
showCustomButton.ImageOptions.ImageUri.Uri = "Filter;Size16x16;Svg";
}
else {
showCustomButton = null;
view.FindPanelItems.RemoveItem(customButtonName);
}
icbFindPanelBehavior.Enabled = showCustomButton == null;
}
从Excel启发的过滤器下拉菜单中隐藏特定过滤器

DevExpress WinForms Data Grid控件公开了一个 ShowFilterPopupExcel 事件,并允许您从Excel央视的过滤器下拉菜单的"Filters"和"Values"选项卡隐藏特定的过滤器选项。v24.1为事件参数添加了 e.HideFilter(filterType) 方法,用于过滤器菜单的高级定制,使用此方法可以在"Filters"选项卡中隐藏不必要的过滤器操作符。

新版本还在DevExpress WinForms TreeList控件中引入了这个特性。

DevExpress WinForms v24.1产品图集

C#

void gridView1_ShowFilterPopupExcel(object sender, DevExpress.XtraGrid.Views.Grid.FilterPopupExcelEventArgs e) {
if (e.Column.FieldName == "UnitPrice") {
e.HideFilter(DevExpress.Utils.Filtering.Internal.CustomUIFilterType.BelowAverage);
e.HideFilter(DevExpress.Utils.Filtering.Internal.CustomUIFilterType.Between);
e.HideFilter(DevExpress.Utils.Filtering.Internal.CustomUIFilterType.BottomN);
// ...
}
}
显示自定义DevExpress弹出菜单

新版本简化了为单个Data Grid UI元素显示DevExpress弹出菜单的过程。

DevExpress WinForms v24.1产品图集

在以前的版本中,您必须在控件的PopupMenuShowing事件中自定义内置菜单(添加/删除菜单项)。在v24.1中,您可以使用新的e.ShowCustomMenu方法显示自定义菜单(在设计时或运行时创建和自定义):

C#

void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) {
if (e.MenuType == GridMenuType.Column) {
popupMenu_Column.Tag = e.HitInfo;
popupMenu_Column.MenuCaption = $"{e.HitInfo.Column}";e.ShowCustomMenu(popupMenu_Column);
}
}

API增强扩展到:DevExpress树列表、垂直网格(属性网格)和透视网格。

未完待续,请持续关注哦~

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

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

相关文章

1976 ssm 营地管理系统开发mysql数据库web结构java编程计算机网页源码Myeclipse项目

一、源码特点 ssm 营地管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开…

Pycharm一些问题解决办法

研究生期间遇到关于Pycharm一些问题报错以及解决办法的汇总 ModuleNotFoundError: No module named sklearn’ 安装机器学习库,需要注意报错的sklearn是scikit-learn缩写。 pip install scikit-learnPyCharm 导包提示 unresolved reference 描述:模块…

时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database

AbutionGraph是一款端到端的流式数据实时分析的图谱数据库,实时(流式写入实时、高QPS决策分析实时、流式预处理实时)表现在: 构建实时查询QPS响应时长与历史数据量无关的图模型;接入流式数据并实时更新图计算指标&…

Spring Cloud Consul作为配置中心实践

官网地址:https://docs.spring.io/spring-cloud-consul/docs/current/reference/html/#spring-cloud-consul-config 先说个人总结:作为配置中心对比config、Consul以及Nacos后,建议使用 Nacos。 Consul 提供了一个键/值存储用于保存配置和其…

Vite: 代码分割与拆包

概述 在生产环境下,为了提高页面加载性能,构建工具一般将项目的代码打包(bundle)到一 起,这样上线之后只需要请求少量的 JS 文件,大大减少 HTTP 请求。当然,Vite 也不例 外,默认情况下 Vite 利用底层打包引…

简单的本地局域网的前后端接口联调

由于项目被赶进度了,急于前后端联调接口,但是我又没钱买服务器(主要我也不会部署),所以我这里就紧急找一个后端的大神朋友请教了一下:苏泽SuZe-CSDN博客 提示:这里不讲后端怎么写接口、前端怎么…

Java的异常处理体系

目录 异常处理1、Java的异常类层次结构2、try-catch-finally 使用注意事项3、在Web应用中如何实现全局异常处理机制 异常处理 1、Java的异常类层次结构 其中Error表示程序运行错误 常见的错误类型有: OutOfMemoryError (内存溢出错误) StackOverFlowError (栈内存溢…

论文学习:基于知识图谱的RAG进行客服问答

1.简介 文章名称: Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering(基于知识图谱的RAG进行客服问答) 2.摘要ABSTRACT 在客户服务技术支持中,迅速准确地检索相关的过往问题对于有…

Qt Creator创建一个用户登录界面

目录 1 界面设计 2 代码 2.1 登录界面 2.2 注册界面 2.3 登陆后的界面 3 完整资源 这里主要记录了如何使用Qt Creator创建一个用户登录界面,能够实现用户的注册和登录功能,注册的用户信息存储在了一个文件之中,在登录时可以比对登录信息…

【运维】如何在Ubuntu中设置一个内存守护进程来确保内存不会溢出

文章目录 前言增加守护进程1. 编写监控脚本2. 创建 systemd 服务文件3. 启动并启用服务4. 验证服务是否运行注意事项 如何修改守护进程1. 修改监控脚本2. 重新加载并重启服务3. 验证服务是否运行总结 如何设置一个日志文件来查看信息1. 修改监控脚本以记录日志方法一&#xff1…

利用代理IP实现高效大数据抓取的策略与技巧

在当今信息爆炸的时代,数据对于各行各业都至关重要。而数据的获取往往需要通过网络爬取。然而随着网络安全意识的提高和反爬虫机制的加强,传统的数据爬取方式可能会受到限制。在这种情况下,代理IP技术的应用就显得尤为重要。本文将探讨代理IP…

C语言 | Leetcode C语言题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; int countPrimes(int n) {if (n < 2) {return 0;}int isPrime[n];int primes[n], primesSize 0;memset(isPrime, 0, sizeof(isPrime));for (int i 2; i < n; i) {if (!isPrime[i]) {primes[primesSize] i;}for (int j 0; j < …

C++ | Leetcode C++题解之第203题移除链表元素

题目&#xff1a; 题解&#xff1a; class Solution { public:ListNode* removeElements(ListNode* head, int val) {struct ListNode* dummyHead new ListNode(0, head);struct ListNode* temp dummyHead;while (temp->next ! NULL) {if (temp->next->val val) {…

arco disign vue 日期组件的样式穿透

问题描述: 对日期组件进行样式穿透. 原因分析: 如图,日期组件被展开时它默认将dom元素挂载到body下, 我们的页面在idroot的div 里层, 里层想要穿透外层是万万行不通的. 解决问题: 其实官网提供了参数,但是并没有提供例子, 只能自己摸索着过河. 对于日期组件穿透样式,我们能…

GEO数据挖掘-富集分析、TinyArray简化流程、多组样本分析more

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 富集分析一些理论知识具体代码 富集不到的补救措施更多资料---问题数据和常见错误分析Part4-复杂数据及其分析多分组数据分析流程 tinyarray简化版本分析流程多分组…

如何高效安全的开展HPC数据传输,保护数据安全?

高性能计算&#xff08;HPC&#xff09;在多个行业和领域中都有广泛的应用&#xff0c;像科学研究机构、芯片IC设计企业、金融、生物制药、能源、航天航空等。HPC&#xff08;高性能计算&#xff09;环境中的数据传输是一个关键环节&#xff0c;它涉及到将数据快速、安全地在不…

【嵌入式操作系统(Linux篇)】实验期末复习(1)

以下是关于嵌入式操作系统&#xff08;Linux篇&#xff09;的实验汇总&#xff0c;大概率都是会考的 特别是shell程序和文件IO的操作 嵌入式操作系统实验小结—涉及期末大题 &#xff08;一&#xff09;Linux操作系统的使用实验 1、认识Linux操作系统的目录结构 请进入自己…

代理IP如何助力旅游信息聚合?

在数字化时代&#xff0c;旅游信息聚合对于提升服务质量、优化用户体验起着至关重要的作用。随着在线旅游预订的普及&#xff0c;旅游信息的采集、整合和呈现成为了一个复杂而关键的过程。在这个过程中&#xff0c;代理IP技术以其独特的优势&#xff0c;为旅游信息聚合提供了强…

APP项目测试 之 开发模型和发布

项目客户端一般分为&#xff1a;浏览器端和APP端 APP端分为&#xff1a;手机端&#xff08;安装在手机上的软件&#xff09;和PC端&#xff08;安装在电脑上的软件&#xff09; 1.开发模型 项目迭代速度不同&#xff1a;开发模型不一样 传统行业&#xff1a;瀑布模型 互联网行业…

[数据集][目标检测]水面垃圾水面漂浮物检测数据集VOC+YOLO格式3749张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3749 标注数量(xml文件个数)&#xff1a;3749 标注数量(txt文件个数)&#xff1a;3749 标注…