AABBbaby

导航

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

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

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

DevExpress技术交流群10: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元素:

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树列表、垂直网格(属性网格)和透视网格。

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

posted on 2024-06-24 14:59  AABBbaby  阅读(12)  评论(0编辑  收藏  举报