通过更改 DataSource 属性,可以动态地更改在 DataGrid 控件中显示的数据。例如,可以显示同一个数据库的不同的表。如果这样做,则 DataGrid 控件将只根据默认的属性显示数据。
通过使用 Columns 集合和 Column 对象的属性和方法,可以在程序中添加、删除或隐藏列。
要在运行时添加一列,可以使用 Add 方法。如果首先声明一个变量,并将新对象赋给该变量,就可以用简明的代码设置各种属性。
Private Sub AddColumn() '在最右边的位置添加一列。然后设置其Visible、Width、' Caption、以及Alignment属性。DataField属性则指定'该列将绑定到哪一个字段。Dim c As ColumnSet c = DataGrid1.Columns.Add(DataGrid1.Columns.Count)With c.Visible = True.Width = 1000.Caption = "我的新列".DataField = Adodc1.Recordset.Fields("ProductName").Name.Alignment = dbgRightEnd WithEnd 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 ColumnFor Each c In DataGrid1.ColumnsSelect Case c.DataFieldCase "ProductName"c.Visible = TrueCase "UnitPrice"c.Visible = TrueCase "UnitsInStock"c.Visible = Truec.Caption = "In Stock" '更改这个列的标头。Case Else '隐藏其它所有的列。c.Visible = FalseEnd SelectNext cEnd Sub