如何查找dataGrid是否包含列

时间:2016-03-29 14:12:11

标签: vb6

给定一个名为grid的DataGrid。

当我尝试访问grid.Columns("column_name")时,我收到了异常

  

找不到列,column_name

我试过

If Not IsNull(grid.Columns("column_name")) Then '...

但我仍然得到例外。

我想要一些我可以称之为

的东西
grid.ContainsColumn("column_name")

1 个答案:

答案 0 :(得分:3)

DataGrid中的列只有一个标题文本来标识列的内容,因此您可以使用类似的内容来查找列是否存在,方法是查找标题与您要查找的列名匹配的列。

Private Function DataGrid_CheckColumnExists(dataGrid As dataGrid, columnName As String)
    Dim columnCount As Long, columnIndex As Long
    Dim checkColumnName As String

    columnCount = dataGrid.Columns.Count

    For columnIndex = 0 To columnCount - 1
        checkColumnName = dataGrid.Columns(columnIndex).Caption

        DataGrid_CheckColumnExists = (StrComp(checkColumnName, columnName, vbTextCompare) = 0)
        If DataGrid_CheckColumnExists Then Exit Function 'No need to continue once we found it
    Next columnIndex
End Function