2016-03-29 4 views
1

Учитывая существующую сетку данных DataGrid.Как найти, если dataGrid содержит столбец

Когда я пытаюсь получить доступ к grid.Columns("column_name") я получаю исключение

Колонка не найден, column_name

Я попытался

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

, но я все еще получаю исключение.

Я хотел бы то, что я мог бы назвать как

grid.ContainsColumn("column_name") 

ответ

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 
Смежные вопросы