通过更改 DataSource 属性,可以动态地更改在 DataGrid 控件中显示的数据。例如,可以显示同一个数据库的不同的表。如果这样做,则 DataGrid 控件将只根据默认的属性显示数据。
通过使用 Columns 集合和 Column 对象的属性和方法,可以在程序中添加、删除或隐藏列。
要在运行时添加一列,可以使用 Add 方法。如果首先声明一个变量,并将新对象赋给该变量,就可以用简明的代码设置各种属性。
Private Sub AddColumn() '
在最右边的位置添加一列。然后设置其Visible
、Width
、' Caption
、以及Alignment
属性。DataField
属性则指定
'
该列将绑定到哪一个字段。Dim c As Column
Set c = DataGrid1.Columns.Add(DataGrid1.Columns.Count)
With c
.Visible = True
.Width = 1000
.Caption = "
我的新列"
.DataField = Adodc1.Recordset.Fields("ProductName").Name
.Alignment = dbgRight
End With
End Sub
可以使用方法来删除任意一列。请确保使用 ColIndex 参数来指定要删除的列。下面的代码将删除被单击的列。
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
DataGrid1.Columns.Remove ColIndex
End Sub
通过将 Visible 属性设置为 False,可以隐藏任意一列。当想要限制用户可以察看或编辑的列时这一功能特别有用。下面的示例在 Columns 集合中循环,隐藏除少数列之外的所有列。
Private Sub HideColumns() '
使用DataField
属性来判别正在测试的是哪一列。'
只显示三列:ProductName
、UnitPrice
、以及' UnitsInStock
。Dim c As Column
For Each c In DataGrid1.Columns
Select Case c.DataField
Case "ProductName"
c.Visible = True
Case "UnitPrice"
c.Visible = True
Case "UnitsInStock"
c.Visible = True
c.Caption = "In Stock" '
更改这个列的标头。Case Else '
隐藏其它所有的列。c.Visible = False
End Select
Next c
End Sub