New!界面控件DevExpress WinForms v24.1預覽版搶先體驗

DevExpress WinForm擁有180+組件和UI庫,能爲Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易於使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕鬆勝任!

在之前的文章中(點擊這裏回顧>>),我們爲大家介紹了DevExpress WinForms將在6月發佈的新版本中公開的一些新功能,接下來的一系列文章我們將就之前的內容展開說明,敬請期待哦~

注意:Early Access和CTP builds版本僅用於早期測試目的,不準備用於生產使用。此版本可以與DevExpress產品的其他主要版本並排安裝,請在安裝Early Access和CTP版本之前備份您的項目和其他重要數據。

獲取DevExpress 新版正式版下載

支持DateOnly & TimeOnly

DevExpress WinForms數據感知UI控件(如數據網格、樹列表、編輯器)現在支持DateOnly和TimeOnly數據類型(在.NET和.NET Framework應用程序中),與傳統的DateTime類型相比,這些類型提供了以下優點:使用清晰、改進的數據庫兼容性、序列化期間更少的空間,以及減輕與不同時區相關的潛在錯誤/不一致的能力。

內置DateOnly和TimeOnly支持擴展到:

  • 過濾相關的UI元素(列過濾器彈出窗口、過濾器編輯器,自動過濾器行)
  • 條件格式規則
  • 條件操作符
  • 表達式編輯器
  • 未綁定列
  • 搜索
  • 總結
  • 分組
  • 掩碼

官方技術團隊還希望在未來的更新中擴展DateOnly和TimeOnly數據類型對數據編輯器庫(包括DevExpress WinForms DateEdit和TimeEdit控件)的支持。

WinForms Data Grid(數據網格)

合併單元格編輯

用戶現在可以同時編輯合併區域中的所有單元格,也可以根據需要修改單獨的單元格(在GridView和banddedgridview中)。使用新的MergedCellEditMode屬性啓用此特性,並指定用戶如何編輯合併的單元格數據。

選項包括:

  • VisibleCells — 編輯合併區域中的數據單元格。
  • FocusedCell — 編輯聚焦行合併區域中的數據單元格。
  • Disabled
DevExpress WinForms 24.1產品圖集

 

using DevExpress.XtraGrid.Views.Grid;

// Allows users to edit data cells in a merged range.
gridView1.OptionsView.MergedCellEditMode = MergedCellEditMode.VisibleCells;

在查找面板中顯示自定義UI元素

這個版本包含了新的API,可以在Find Panel中顯示預定義和/或自定義UI控件。有了這個新選項,您可以在使用DevExpress Find Panel時構建完全可定製/個性化的界面。

DevExpress WinForms 24.1產品圖集

使用FilterPanelItems在WinForms應用中引入自定義的查找面板UI元素:

// 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;
}

Context Menu API增強

v24.1將簡化了爲單個Data Grid UI元素顯示DevExpress彈出菜單的過程。

DevExpress WinForms 24.1產品圖集

在以前的版本中,您必須在控件的"PopupMenuShowing"事件中自定義內置菜單(添加、刪除菜單項),在v24.1中,您可以使用新的e.ShowCustomMenu方法輕鬆顯示自定義菜單(在設計或運行時創建和自定義):

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 TreeList、Vertical Grid (Property Grid)和Pivot Grid。

自定義Excel列過濾器

DevExpress WinForms Data Grid控件包含一個ShowFilterPopupExcel事件,用於隱藏受Excel啓發的過濾器下拉菜單中的“Filters” 和“Values”選項卡中的特定過濾器選項。v24.1爲事件參數添加了e.HideFilter(filterType)方法,來實現靈活的過濾器定製。使用這種方法,您可以在“Filters”選項卡中隱藏特定的篩選項(以限制選項並簡化UI)。

DevExpress WinForms 24.1產品圖集

 

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);
// ...
}
}

計算最佳尺寸

爲了解決常見的與佈局相關的開發任務,新的CalcBestSize(maxSize, checkScrollInfo)方法計算網格控件的最大允許大小(以顯示儘可能多的數據行和列)。

DevExpress TileView (Kanban)自定義磁貼繪製

您現在可以通過處理新的TileView.CustomDrawTile事件來定製tile的外觀,通過其全面的事件參數(APIs),您可以輕鬆更改邊框形狀和顏色或繪製自定義UI元素,以滿足特定的設計需求/用戶偏好。

您可以根據需要在tile中呈現HTML和CSS模板。

DevExpress WinForms 24.1產品圖集

更多DevExpress線上公開課、中文教程資訊請上中文網獲取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章