2016-03-29 91 views
1

給定一個現有的DataGrid稱爲網格。如何查找dataGrid是否包含列

當我嘗試訪問grid.Columns("column_name")我得到一個異常沒有找到

列,列名

我試圖

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

,但我仍然得到例外。

我想一些東西,我可以打電話給在DataGrid像

grid.ContainsColumn("column_name") 

回答

3

列只有一個標題的文本,以確定該列是什麼,所以你可以使用這樣的事情,以檢查是否由存在於柱查找具有與您正在查找的列名稱匹配的Caption的列。

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