这个教程示范如何使用GridControl编辑数据,和保存更改到数据库。这个教程基于前一个篇。
Items Source Wizard 当 CRUD (Create, Read, Update, Delete) 启动选项时添加Post data功能
Items Source Wizard 生成如下代码:
1、设置 TableView.ShowUpdateRowButtons 选项到OnCellEditorOpen。这个选项启动一个编辑模式允许用户 edit an entire row 和提交和更改所有的变更:
2、设置 TableView.NewItemRowPosition 属性到Top。 这个 New Item Row 允许用户添加新行到 GridControl:
3、创建如下命令在运行时生成,从方法和 Command 属性。 从 [MethodName]Command 生成命令名称。
ValidateRow 命令添加新列和保存变更到数据库:
- [Command]
- public void ValidateRow(RowValidationArgs args) {
- var item = (Order)args.Item;
- if (args.IsNewItem)
- _Context.Orders.Add(item);
- _Context.SaveChanges();
- }
从数据库这个 ValidateRowDeletion 命令移除其他内容
- [Command]
- public void ValidateRowDeletion(ValidateRowDeletionArgs args) {
- var item = (Order)args.Items.Single();
- _Context.Orders.Remove(item);
- _Context.SaveChanges();
- }
DataSourceRefresh 命令拉取更改,从数据库更改grid 内容
- [Command]
- public void DataSourceRefresh(DataSourceRefreshArgs args) {
- _ItemsSource = null;
- _Context = null;
- RaisePropertyChanged(nameof(ItemsSource));
- }
TableView 属性束缚和生成命令:
"grid" ItemsSource="{Binding Orders}"> -
-
-
"Top" - ShowUpdateRowButtons="OnCellEditorOpen"
- ValidateRowCommand="{Binding ValidateRowCommand}"
- ValidateRowDeletionCommand="{Binding ValidateRowDeletionCommand}"
- DataSourceRefreshCommand="{Binding DataSourceRefreshCommand}"/>
-
从GridControl Delete 按键移除选择的列:
-
"{Binding View.Commands.DeleteFocusedRow, ElementName=grid}" Key="Delete"/>