提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2024-11-12 10:38:12.673|阅读 12 次
概述:本文主要介绍如何使用DevExpress WinForms的Data Grid组件绑定到实体框架数据源,欢迎下载最新版组件体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
在本教程中,您将学习如何将DevExpress WinForms的网格控件绑定到实体框架数据源、如何使用数据注释属性来更改网格显示和管理数据的方式,以及如何将单元格值更改发送回数据源。
P.S:DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
获取DevExpress WinForms v24.1正式版下载
DevExpress技术交流群11:749942875 欢迎一起进群讨论
从一个项目开始,它有一个Windows Form和一个空的GridControl,该解决方案还包括一个默认名为Model1的实体框架模型,您可以双击它来查看图表上的可视化表示。在本教程中,使用修改版本的AdventureWorks数据库,它只包含一个表,其中只有几个字段。
将实体框架模型绑定到网格控件的最简单方法是使用数据源配置向导,调用DevExpress WinForms网格控件的智能标记并单击数据源向导。
选择Entity Framework技术并选择现有的数据连接或创建一个新的数据连接,在本教程中使用到样例Microsoft AdventureWorksDW2008R2数据库的现有连接,单击Next继续。
在下一页,您将被要求选择所需的绑定模式。选择Binding using Binding Source组件选项,然后单击Next。
最后,选择要在网格控件中显示的表格。
网格控件现在绑定到EF数据,并且已经生成了所有必需的代码,您可以在.cs文件中看到自动生成的代码。现在运行应用程序来查看结果。
下面是一些关于grid如何显示其绑定数据的观察。
所有这些默认操作都可以使用DevExpress WinForms GridControl设置进行更改,另一种方法是更改数据字段属性或数据注释属性。当您有多个控件绑定到同一数据源时,这可能会派上用场。这样您就不必设置相同的规则,看看这是怎么回事。
打开包含表格数据模型的DimProducts.cs文件,在这里您可以看到所有可用的数据字段,它们被声明为DimProduct类的属性。
C#
public partial class DimProduct { public int ProductKey { get; set; } public string EnglishProductName { get; set; } public Nullable<decimal> DealerPrice { get; set; } public string EnglishDescription { get; set; } public Nullable<System.DateTime> StartDate { get; set; } public Nullable<System.DateTime> EndDate { get; set; } }
VB.NET
Partial Public Class DimProduct Public Property ProductKey() As Integer Public Property EnglishProductName() As String Public Property DealerPrice() As Decimal? Public Property EnglishDescription() As String Public Property StartDate() As Date? Public Property EndDate() As Date? End Class
向这些属性添加数据属性,看看这会如何改变网格操作。
注意:应用程序应该引用System.ComponentModel.DataAnnotations库来完成此操作。
C#
[Required] public string EnglishProductName { get; set; }
VB.NET
<Required> Public Property EnglishProductName() As String
运行应用程序来确保不再允许空值。
对于DealerPrice字段,添加DataType属性,以指示应该将这些整数值视为货币数据。此外,应用Range属性来设置允许的最小值和最大值。
C#
[DataType(DataType.Currency), Range(200, 5000)] public Nullable<decimal> DealerPrice { get; set; }
VB.NET
<DataType(DataType.Currency), Range(200, 5000)> Public Property DealerPrice() As Decimal?
C#
[DataType(DataType.MultilineText), Display(Name = "Description", Description = "Detailed product description")] public string EnglishDescription { get; set; }
VB.NET
<DataType(DataType.MultilineText), Display(Name := "Description", Description := "Detailed product description")> Public Property EnglishDescription() As String
运行应用程序来查看用于列标头及其工具提示的更新标题,另外注意单元格现在使用MemoEdit,因为您将数据类型指定为多行文本。
C#
[DataType(DataType.Text)] public Nullable<System.DateTime> StartDate { get; set; } [DisplayFormat(DataFormatString = "MMMM/yyyy")] public Nullable<System.DateTime> EndDate { get; set; }
VB.NET
<DataType(DataType.Text)> Public Property StartDate() As Date? <DisplayFormat(DataFormatString := "MMMM/yyyy")> Public Property EndDate() As Date?
启动应用程序,看到StartDate列中没有显示任何特殊的编辑器。EndDate列保留了编辑器,但格式发生了变化。
要确保网格控件中的单元格值更改被发送回数据源,您需要添加几行代码。当网格引发事件时保存更改,您需要访问数据源上下文,因此必须更改变量的作用域,使其对Form类中的所有方法都可用。在处理程序中,需要做的就是调用SaveChanges方法。
C#
DXApplication.AdventureWorksDW2008R2Entities dbContext; private void gridView1_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e) { dbContext.SaveChanges(); }
VB.NET
Private dbContext As DXApplication.AdventureWorksDW2008R2Entities Private Sub gridView1_RowUpdated(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.RowObjectEventArgs) dbContext.SaveChanges() End Sub
现在运行应用程序并更改Dealer Price列中的值,将焦点移动到另一行,来确保引发事件。然后关闭应用程序并再次运行它,您将看到该值已保存。
更多产品资讯及授权,欢迎“”!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:慧都网本文将探讨如何使用 Spire.XLS for .NET 在 C# 程序中导入 Excel 数据到数据库以及导出数据库到 Excel 文件,实现数据在 Excel 和数据库之间无缝流转。
在本文中,我们将向您展示如何逐步执行此操作,告诉您什么是 SCORM,为什么需要使用它,并列出我们测试过的最佳 SCORM 转换工具之一——iSpring Suite。
本文主要介绍如何使用Kendo UI for Angular组件的ListView来构建带有图表的仪表板,欢迎下载新版控件体验!
在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WinForms Subscription为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢