2025活动

DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

界面控件DevExpress WPF中文教程:Data Grid - 虚拟源限制

来源:   发布时间:2025-11-26   浏览:16次

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

绑定到虚拟源的GridControl只请求顶级记录或特定页面,您可以指定支持哪些数据操作,以防止最终用户使用非最优查询使数据库过载,GridControl隐藏了不支持操作的UI元素。

注意不支持TreeListView。

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

DevExpress技术交流群12:1028386091      欢迎一起进群讨论

排序

排序被禁用。

要启用排序:

1. 使用FetchEventArgsBase.SortOrder属性获取考虑GridControl排序的行。

2. 将ColumnBase.AllowSorting属性设置为true来允许按特定列排序(忽略DataViewBase.AllowSorting属性)。

您最初只能按单列排序,将GridViewBase.AllowGroupingSortingBySingleColumnOnly属性设置为false来允许按多列排序。

过滤

过滤功能被禁用。

要启用过滤功能:

1. 使用FetchEventArgsBase.Filter属性获取考虑GridControl过滤的行。

2. 使用以下属性来指定GridControl列支持的过滤器:

搜索

已禁用搜索。

请注意,虚拟源不支持使用搜索面板突出显示文本。该元素允许最终用户通过按F3或内置导航按钮在找到的值之间进行迭代,这可能导致在使用虚拟源时加载大量行。

总摘要

总摘要已被禁用。

要显示摘要:

1. 处理InfiniteAsyncSource.GetTotalSummaries事件来获取总摘要。

2. 使用GridControl.TotalSummary属性指定GridControl应该显示的摘要信息总数。

使用ColumnBase.AllowedTotalSummariesTableView.AllowCountTotalSummary属性来指定允许的摘要类型,并允许用户显示摘要。

注意:不支持选择摘要。

数据编辑

“数据编辑”功能被禁用。

虚拟源仅支持在Edit Entire Row模式下进行编辑:

1. 对于用户可以编辑的列,将ColumnBaseAllowEditing属性设置为true。

2. 设置TableView.ShowUpdateRowButtons属性为OnCellEditorOpen / OnCellValueChange 来启用Edit Entire Row模式。

3. 处理GridViewBase.ValidateRow事件,并同步或异步地将更改保存到底层数据源(数据库)。

要异步保存更改,将GridRowValidationEventArgs.UpdateRowResult属性设置为保存更改的任务。

Xaml

<dxg:GridControl x:Name="grid">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Subject" IsSmart="True" AllowEditing="true"/>
<dxg:GridColumn FieldName="User" IsSmart="True" AllowEditing="true"/>
<dxg:GridColumn FieldName="Created" IsSmart="True" AllowEditing="true"/>
<dxg:GridColumn FieldName="Votes" IsSmart="True" AllowEditing="true"/>
<dxg:GridColumn FieldName="Priority" IsSmart="True" AllowEditing="true"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView ValidateRow="TableView_ValidateRow" ShowUpdateRowButtons="OnCellValueChange" />
</dxg:GridControl.View>
</dxg:GridControl>

C#

private void TableView_ValidateRow(object sender, GridRowValidationEventArgs e) {
e.UpdateRowResult = Task.Run(() => {
IssuesService.UpdateRow(e.Row as IssueData);
});
}

VB.NET

Private Sub TableView_ValidateRow(ByVal sender As Object, ByVal e As GridRowValidationEventArgs)
e.UpdateRowResult = Task.Run(Function()
IssuesService.UpdateRow(TryCast(e.Row, IssueData))
End Function)
End Sub
未绑定列和已绑定列
  • 您可以创建一个未绑定列,并使用表达式编辑器编辑ColumnBase.UnboundExpression属性。
  • 可以使用Binding属性创建绑定到数据的列。
  • 不能将数据整形操作(排序、分组、汇总)应用于未绑定列或指定了Binding属性的列。

如果必须在服务器上按多个列计算值,请使用VirtualSourceBase.CustomProperties属性指定自定义PropertyDescriptors。

条件格式
  • 只能使用FormatCondition条件格式。
打印和导出
数据导航器
  • 您可以在Data Navigator中使用导航按钮,Remove, Add, Edit按钮被禁用。
拖放
  • 默认情况下,拖放功能是禁用的,您可以处理自定义事件来实现自定义拖放。
选择
自适应

更多产品资讯及授权,欢迎来电咨询:023-68661681


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

关于慧都科技

慧都是⼀家⾏业数字化解决⽅案公司,专注于软件、⽯油与⼯业领域,以深⼊的业务理解和⾏业经验,帮助企业实现智能化转型与持续竞争优势。

慧都是DevExpress的中国区的合作伙伴,DevExpress作为用户界面领域的优秀产品,帮助企业高效构建权限管理、数据可视化(如网格/图表/仪表盘)、跨平台系统(WinForms/ASP.NET/.NET MAUI)及行业定制解决方案,加速开发并强化交互体验。

慧都22周年庆火热开启·狂欢‘价’到!
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/5571.html

相关产品: DevExpress WPF Subscription, DevExpress Universal Subscription,

扫码咨询
电话咨询
023-68661681
返回
顶部