翻譯|使用教程|編輯:龔雪|2025-10-16 11:19:45.190|閱讀 1 次
概述:本文主要介紹如何在MVVM應用程序中使用虛擬源,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
本文將為大家一步一步演示如何在一個MVVM應用程序中使用虛擬源。
注意:本教程使用作為示例數據源,使用作為虛擬數據源。
DevExpress技術交流群12:1028386091 歡迎一起進群討論
開發者可以允許用戶在GridControl中對行進行排序,完成以下步驟:
Issues Service(問題服務)允許您應用以下排序順序:
C#
public enum IssueSortOrder { Default, CreatedDescending, VotesAscending, VotesDescending }
下面的代碼片段在GridControl中實現了默認的排序順序:
C#
[Command] public void FetchIssues(FetchRowsAsyncArgs args) { args.Result = GetIssuesAsync(args); } async Task<FetchRowsResult> GetIssuesAsync(FetchRowsAsyncArgs args) { var take = args.Take ?? 30; var issues = await IssuesService.GetIssuesAsync( skip: args.Skip, take: take, sortOrder: GetIssueSortOrder(args.SortOrder), filter: null ); return new FetchRowsResult(issues, hasMoreRows: issues.Length == take); } static IssueSortOrder GetIssueSortOrder(SortDefinition[] sortOrder) { return IssueSortOrder.Default; }
在虛擬源中實現排序操作
C#
static IssueSortOrder GetIssueSortOrder(SortDefinition[] sortOrder) { if (sortOrder.Length > 0) { var sort = sortOrder.Single(); if (sort.PropertyName == "Created") { if (sort.Direction != ListSortDirection.Descending) throw new InvalidOperationException(); return IssueSortOrder.CreatedDescending; } if (sort.PropertyName == "Votes") { return sort.Direction == ListSortDirection.Ascending ? IssueSortOrder.VotesAscending : IssueSortOrder.VotesDescending; } } return IssueSortOrder.Default; }
xml
<dxg:GridColumn FieldName="Votes" AllowSorting="True" DefaultSortOrder="Descending"/>
xml
<dxg:GridColumn FieldName="Created" AllowSorting="True" AllowedSortOrders="Descending"/>
在本教程中,Issues Service只能按單列對數據進行排序。如果您的數據源可以按多列排序數據,請將屬性設置為False。在這種情況下,GridControl可以按多列排序,用戶應按住Shift鍵并單擊所需的列標題,以便根據這些列對數據進行排序。
Created Date列允許用戶僅按降序對數據進行排序。當用戶單擊列標題時,GridControl不會更改排序順序,用戶應按住Ctrl鍵并單擊列標題來清除列的排序順序。
將DataViewBaseColumnSortClearMode屬性設置為Click,這允許用戶通過單擊列標題應用或清除排序順序:
xml
<dxg:GridControl.View> <dxg:TableView ColumnSortClearMode="Click"/> </dxg:GridControl.View>
更多產品資訊及授權,歡迎來電咨詢:023-68661681
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網