2014-09-03 5 views
0

У меня есть простое приложение для просмотра набора данных, которое отображает содержимое набора данных. В моем наборе данных есть много данных, каждый из которых содержит множество строк. К сожалению, одна из таблиц показывает только первый столбец. Когда я смотрю на 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 

ответ

2

Вместо того, чтобы использовать DataMember вообще, почему бы не сделать это:

DataGridViewXml.DataSource = ssrsReportDataSet.Tables(0) 

, а затем это:

DataGridViewXml.DataSource = ssrsReportDataSet.Tables("MyTable") 

Там нет установки AutoGenerateColumns, потому что это True по умолчанию точки. Вам может потребоваться или не нужно устанавливать DataSource в Nothing и ClearColumns между ними.

+0

Я удалил настройки DataMember. Думаю, они сэкономили бы время с очень большими наборами данных, но, похоже, здесь не имеет значения. Теперь я очищаю источник данных и столбцы. Тем не менее, эта таблица по-прежнему не содержит все столбцы. Kinda разочаровывает видеть его в отладчике и не загружать его правильно в datagridview. Кажется, что это не имеет никакого отношения к длине или имени таблицы и столбца. – BClaydon

+0

Один из моих коллег только что упомянул, что столбцы автогенерации могут не работать, если в столбцах есть нулевые значения. Поэтому я могу либо вручную сгенерировать их, либо заменить нули одним пробелом. Также нет отличных вариантов. Благодарю. – BClaydon

+0

Это выглядит очень странно. Я бы не подумал, что данные в столбцах будут иметь значение, добавляются ли они в сетку или нет. То, что добавляется в сетку, основано на 'PropertyDescriptors', сгенерированном' DataTable' 'DefaultView'. – jmcilhinney

Смежные вопросы