2014-09-03 98 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