本指南演示了如何把图表绑定到 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 数据源,则执行下列操作。

  1. 启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序

  2. 把图表添加到窗体上

  3. DX.10.2: Data 工具箱标签页中,把一个 XPCollection 组件拖放到窗体上。

  4. 现在,从窗体的设计视图切换到代码窗口,并且声明 XPObject 类的子类。 例如,使用下列代码。

    C#CopyCode image复制代码
    using DevExpress.Xpo;
    // ...
    
    public class SeriesRecord : XPObject {
        public string Argument;
        public int Value;
    }
    
    Visual BasicCopyCode image复制代码
    Imports DevExpress.Xpo
    ' ...
    
    Public Class SeriesRecord
        Inherits XPObject
        Public Argument As String
        Public Value As Integer
    End Class
    
  5. 为了填充数据源,使用下列代码接管 Form1_Load 事件。

    C#CopyCode image复制代码
    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 BasicCopyCode image复制代码
    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
    
  6. 重新生成应用程序,以便于此对象可以被用于 XPCollection。

  7. 把 XPCollection 对象的 ObjectClassInfo 属性设置为 SeriesRecord 对象。

  8. 现在, 把 ChartControl.DataSource 属性设置为这个 XPCollection 对象。

    然后,指定图表系列获取点参数及其取值的数据来源,把 SeriesBase.ArgumentDataMember 属性设置为 Argument,并把 SeriesBase.ValueDataMembers 属性设置为 Value

现在,图表已经被绑定到 XPO 数据源,并在下面的插图中显示了结果。

CodeCentralShow Me

在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1576。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。