Я генерирую DataGridView, используя результат запроса.
Запрос генерирует МНОГО столбцов (более 75). Очевидно, DataGridView не показывает все из них.
Я написал небольшую процедуру, которая извлекает данные из DataGridView и создает файл Excel или файл .csv.
Что мне показалось забавным, так это то, что и Excel, и .csv правильно сгенерированы, КРОМЕ для заголовков столбцов! Я имею в виду: ВСЕ КЛЕТКИ записываются в файл, КРОМЕ для заголовков столбцов.
Затем я обнаружил, что если DataGridView не визуализирует заголовки столбцов, он не будет устанавливать их значения.
Итак, я написал следующий ужасный код для горизонтальной прокрутки DataGridView, чтобы заголовки столбцов визуализировались в DataGridView и извлекались в Excel или .csv:
Friend Sub ScrollTheGridToSeeColumnHeaders(ByRef dgvTheGrid As DataGridView)
If dgvTheGrid.RowCount = 0 Then
Exit Sub
End If
dgvTheGrid.SuspendLayout()
For i32ScorriCol As Int32 = 0 To dgvTheGrid.ColumnCount - 1 Step dgvTheGrid.DisplayedColumnCount(True)
dgvTheGrid.FirstDisplayedScrollingColumnIndex = dgvTheGrid.Columns(i32ScorriCol).Index
dgvTheGrid.Refresh()
Next
dgvTheGrid.ResumeLayout()
dgvTheGrid.CurrentCell = dgvTheGrid(0, 0)
End Sub
Это работает, но эффект для пользователя действительно ужасен (он видит, что сетка прокручивается до конца, и думает, что совершил какую-то грубую ошибку ...).
У вас есть предложение сделать трюк без прокрутки всех этих столбцов таким ужасным образом?
Большое спасибо заранее!