下面的示例演示了如何把自定义对象的一个数组绑定到 XtraGrid 控件。
首先,声明一个呈现单条记录的类。 下面的代码声明了一个有 ID、Name 和 Age 公共属性的类。 这些属性将成为数据源字段。 注意, ID 属性被声明为只读。 结果是 —— 它相关的列也将是只读的。
C# | 复制代码 |
---|---|
public class Record { int id, age; string name; public Record(int id, string name, int age) { this.id = id; this.name = name; this.age = age; } public int ID { get { return id; } } public string Name { get { return name; } set { name = value; } } public int Age { get { return age; } set { age = value; } } } |
Visual Basic | 复制代码 |
---|---|
Public Class Record Dim _id, _age As Integer Dim _name As String Public Sub New(ByVal id As Integer, ByVal name As String, ByVal age As Integer) Me._id = id Me._name = name Me._age = age End Sub Public ReadOnly Property ID() As Integer Get Return _id End Get End Property Public Property Name() As String Get Return _name End Get Set(ByVal Value As String) _name = Value End Set End Property Public Property Age() As Integer Get Return _age End Get Set(ByVal Value As Integer) _age = Value End Set End Property End Class |
在声明记录类之后,就可以使用记录填充数据源对象了。 本示例将使用一个 ArrayList 作为控件的数据源。
下面的代码使用记录填充了一个 ArrayList, 并把它指派到网格控件的 GridControl.DataSource 属性。 缺省时,所有数据源字段的列都被自动创建。
C# | 复制代码 |
---|---|
ArrayList listDataSource = new ArrayList(); listDataSource.Add(new Record(1, "Jane", 19)); listDataSource.Add(new Record(2, "Joe", 30)); listDataSource.Add(new Record(3, "Bill", 15)); listDataSource.Add(new Record(4, "Michael", 42)); gridControl1.DataSource = listDataSource; |
Visual Basic | 复制代码 |
---|---|
Dim ListDataSource As New ArrayList() ListDataSource.Add(New Record(1, "Jane", 19)) ListDataSource.Add(New Record(2, "Joe", 30)) ListDataSource.Add(New Record(3, "Bill", 15)) ListDataSource.Add(New Record(4, "Michael", 42)) GridControl1.DataSource = ListDataSource |
在上述代码被执行之后,网格控件的外观将与下面显示的类似。