DevExpress WPF中文教程:如何将GridControl的更改发布到数据库?
DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
本教程演示如何在GridControl中编辑数据并将更改保存到数据库中,本教程以上一篇内容为基础(点击这里回顾>>)。

DevExpress技术交流群10:532598169 欢迎一起进群讨论
1. 设置TableView.ShowUpdateRowButtons属性为oncellleditoropen或OnCellValueChange,这将打开编辑模式,允许用户编辑整行,然后立即提交或取消所有更改。
2. DevExpress GridControl将更改保存在本地,而不将其发布到数据库。要将更改保存到数据库,请在视图模型中创建一个ValidateAndSave命令,该命令调用数据上下文的SaveChanges方法:
MainViewModel.cs
using DevExpress.Mvvm.DataAnnotations; using DevExpress.Mvvm.Xpf; // ... public class ViewModel : ViewModelBase { NorthwindEntities northwindDBContext; // ... [Command] public void ValidateAndSave(RowValidationArgs args) { northwindDBContext.SaveChanges(); } }
MainViewModel.vb
Imports DevExpress.Mvvm.DataAnnotations Imports DevExpress.Mvvm.Xpf ' ... Public Class ViewModel Inherits ViewModelBase Private northwindDBContext As NorthwindEntities ' ... <Command> Public Sub ValidateAndSave(ByVal args As RowValidationArgs) northwindDBContext.SaveChanges() End Sub End Class
该命令是在运行时从带有command属性的方法生成的,生成的命令名遵循[MethodName]Command模式。
3. 将ValidateAndSave命令绑定到GridViewBase.ValidateRowCommand属性,DevExpress GridControl在用户点击Update按钮后执行这个命令:
MainView.xaml
<dxg:GridControl.View> <dxg:TableView AutoWidth="True" BestFitModeOnSourceChange="VisibleRows" ShowUpdateRowButtons="OnCellEditorOpen" ValidateRowCommand="{Binding ValidateAndSaveCommand}"/> </dxg:GridControl.View>
您可以使用本教程中演示的方法来实现其他CRUD操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2023-08-01 7种方法!教你如何使用Telerik UI for ASP.NET定制编辑器
2023-08-01 界面控件DevExpress BI Dashboard v23.1——支持全新的图标趋势指标
2019-08-01 DevExpress Windows 10 v19.1新版亮点:UWP控件新功能全面解析
2018-08-01 DevExpress v18.1新版亮点——WPF篇(二)