2014-09-03 97 views
0

我有一个简单的数据集查看器应用程序,显示数据集的内容。我的数据集有许多数据表,每个数据表都有很多行。不幸的是其中一个表只显示第一列。当我查看调试器中的数据表时,我会看到所有行,当它在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设置为NothingClear之间的集合Columns

+0

我删除了DataMember设置。我想他们会用非常大的数据集来节省一些时间,但这似乎没有什么区别。我现在清除数据源和列。尽管如此,这张表仍然没有列出所有的列。有点令人沮丧的看到它在调试器中,并没有正确加载datagridview。它似乎与表格和列的长度或名称没有任何关系。 – BClaydon 2014-09-04 17:46:33

+0

我的一位同事刚刚提到自动生成列可能无法工作,如果列有一些空值。所以我可以手动生成它们或者用一个空格替换空值。这两个都不是很好的选择。我会继续挖掘,谢谢。 – BClaydon 2014-09-04 17:57:30

+0

这看起来很奇怪。我不会认为列中的数据会影响他们是否添加到网格中。添加到网格的内容是基于'DataTable'' DefaultView'生成的'PropertyDescriptors'。 – jmcilhinney 2014-09-05 01:06:14