使用列

通过更改 DataSource 属性,可以动态地更改在 DataGrid 控件中显示的数据。例如,可以显示同一个数据库的不同的表。如果这样做,则 DataGrid 控件将只根据默认的属性显示数据。

添加、删除或隐藏列

通过使用 Columns 集合和 Column 对象的属性和方法,可以在程序中添加、删除或隐藏列。

添加和删除一列

要在运行时添加一列,可以使用 Add 方法。如果首先声明一个变量,并将新对象赋给该变量,就可以用简明的代码设置各种属性。

Private Sub AddColumn()
   ' 在最右边的位置添加一列。然后设置其 VisibleWidth' 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 属性来判别正在测试的是哪一列。
   ' 只显示三列:ProductNameUnitPrice、以及
   ' UnitsInStockDim 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