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