本指南演示了如何把图表绑定到 eXpress Persistent Objects (XPO) 数据源。 XPO 是一种 DevExpress 技术,能让您自由构建真实的业务对象,而无须处理乏味且复杂的业务对象到数据库表的映射。eXpress Persistent Objects for .NET 完全为开发人员提取了数据库层,使他们完全工作在面向对象的领域。使用 XPO,您可以构建与多种数据库系统 (目前支持 MS Access、MS SQL Server、MySQL、Oracle、PostgreSql、Firebird、PervasiveSQL、VistaDB、SQL Anywhere、Advantage、DB2 和 Sybase) 完全兼容的应用程序,而无须对代码作出任何修改。 更多信息,请参阅 eXpress Persistent Objects。
要把图表绑定到 XPO 数据源,则执行下列操作。
-
启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序。
-
从 DX.10.2: Data 工具箱标签页中,把一个 XPCollection 组件拖放到窗体上。
-
现在,从窗体的设计视图切换到代码窗口,并且声明 XPObject 类的子类。 例如,使用下列代码。
C# 复制代码 using DevExpress.Xpo; // ... public class SeriesRecord : XPObject { public string Argument; public int Value; }
Visual Basic 复制代码 Imports DevExpress.Xpo ' ... Public Class SeriesRecord Inherits XPObject Public Argument As String Public Value As Integer End Class
-
为了填充数据源,使用下列代码接管 Form1_Load 事件。
C# 复制代码 private void Form1_Load(object sender, EventArgs e) { for (int i = 1; i < 11; i++) { SeriesRecord record = new SeriesRecord(); record.Argument = "Item " + i.ToString(); record.Value = i; xpCollection1.Add(record); } }
Visual Basic 复制代码 Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _ Handles MyBase.Load For i As Integer = 1 To 10 Dim record As New SeriesRecord() record.Argument = "Item " & i.ToString() record.Value = i xpCollection1.Add(record) Next i End Sub
-
重新生成应用程序,以便于此对象可以被用于 XPCollection。
-
把 XPCollection 对象的 ObjectClassInfo 属性设置为 SeriesRecord 对象。
-
现在, 把 ChartControl.DataSource 属性设置为这个 XPCollection 对象。
然后,指定图表系列获取点参数及其取值的数据来源,把 SeriesBase.ArgumentDataMember 属性设置为 Argument,并把 SeriesBase.ValueDataMembers 属性设置为 Value。
现在,图表已经被绑定到 XPO 数据源,并在下面的插图中显示了结果。
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1576。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |