给定一个名为grid的DataGrid。
当我尝试访问grid.Columns("column_name")
时,我收到了异常
找不到列,column_name
我试过
If Not IsNull(grid.Columns("column_name")) Then '...
但我仍然得到例外。
我想要一些我可以称之为
的东西grid.ContainsColumn("column_name")
答案 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