У меня есть простое приложение для просмотра набора данных, которое отображает содержимое набора данных. В моем наборе данных есть много данных, каждый из которых содержит множество строк. К сожалению, одна из таблиц показывает только первый столбец. Когда я смотрю на datatable в отладчике, я вижу все строки, когда в представлении datagridview отображается только одна строка. Кажется, что нет ничего странного в именах столбцов.DataGridView не показывает все столбцы в наборе данных
Вот код, который устанавливает DataGridView:
' Load datagrid
With DataGridViewXml
.AutoGenerateColumns = True
.DataSource = ssrsReportDataSet
.DataMember = ssrsReportDataSet.Tables(0).TableName
End With
'Таблица с индексом 4 является одной потери столбцов tableSelecter.SelectedIndex = 4
Вот как я обновить представление с таблицей I необходимо:
' Load datagrid
With DataGridViewXml
.DataMember = ssrsReportDataSet.Tables("MyTable").TableName
End With
Я удалил настройки DataMember. Думаю, они сэкономили бы время с очень большими наборами данных, но, похоже, здесь не имеет значения. Теперь я очищаю источник данных и столбцы. Тем не менее, эта таблица по-прежнему не содержит все столбцы. Kinda разочаровывает видеть его в отладчике и не загружать его правильно в datagridview. Кажется, что это не имеет никакого отношения к длине или имени таблицы и столбца. – BClaydon
Один из моих коллег только что упомянул, что столбцы автогенерации могут не работать, если в столбцах есть нулевые значения. Поэтому я могу либо вручную сгенерировать их, либо заменить нули одним пробелом. Также нет отличных вариантов. Благодарю. – BClaydon
Это выглядит очень странно. Я бы не подумал, что данные в столбцах будут иметь значение, добавляются ли они в сетку или нет. То, что добавляется в сетку, основано на 'PropertyDescriptors', сгенерированном' DataTable' 'DefaultView'. – jmcilhinney