当前位置: 首页 > article >正文

wpf devexpress post 更改数据库

这个教程示范如何使用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   属性束缚和生成命令:

<dxg:GridControl x:Name="grid" ItemsSource="{Binding Orders}">
    <!-- ... -->
    <dxg:GridControl.View>
        <dxg:TableView NewItemRowPosition="Top"
                       ShowUpdateRowButtons="OnCellEditorOpen"
                       ValidateRowCommand="{Binding ValidateRowCommand}"
                       ValidateRowDeletionCommand="{Binding ValidateRowDeletionCommand}"
                       DataSourceRefreshCommand="{Binding DataSourceRefreshCommand}"/>
    </dxg:GridControl.View>
</dxg:GridControl>

从GridControl Delete 按键移除选择的列:

<dxg:GridControl.InputBindings>
    <KeyBinding Command="{Binding View.Commands.DeleteFocusedRow, ElementName=grid}" Key="Delete"/>
</dxg:GridControl.InputBindings>


http://www.kler.cn/news/134411.html

相关文章:

  • kafka分布式安装部署
  • 【微信小程序篇】- 组件
  • 算法设计与分析复习--贪心(一)
  • 特效!视频里的特效在哪制作——Adobe After Effects
  • java智慧校园信息管理系统源码带微信小程序
  • 【wp】2023第七届HECTF信息安全挑战赛 Web
  • 什么是Selenium?如何使用Selenium进行自动化测试?
  • 初刷leetcode题目(4)——数据结构与算法
  • C# Array和ArrayList有什么区别
  • WPF拖拽相关的类
  • 详解Java设计模式之职责链模式
  • S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)
  • Web安全研究(五)
  • python中Thread实现多线程任务
  • iTerm2+oh-my-zsh搭个Mac电脑上好用好看终端
  • Zotero在word中插入参考文献
  • 队列和微服务的异步通信
  • Python选择排序和冒泡排序算法
  • linux基础:4:gdb的使用
  • 保姆级 | Nginx编译安装
  • golang学习笔记——条件表达式
  • 【Dubbo】Dubbo负载均衡实现解析
  • nodejs微信小程序-实验室上机管理系统的设计与实现-安卓-python-PHP-计算机毕业设计
  • 2023数维杯国际赛数学建模竞赛选题建议及B题思路讲解
  • Linux本地docker一键部署traefik+内网穿透工具实现远程访问Web UI管理界面
  • OpenAI 地震!首席执行官被解雇,背后的原因是?
  • linux 定时执行脚本
  • 【Flink】系统架构
  • 力扣372周赛
  • 微机原理练习题_13