我也看了一下,發現一個問題,這是類似的後空白,雖然沒有解決我的問題 - 其他問題是datagridview-is-blank-after-changing-datasource-at-runtime的DataGridView是設置數據源
我相信這是一個更簡單的回答一個簡單的問題我的第一個Windows窗體..Working應用和發現了一些東西從ASP.Net :)
不同了很多,所以在這個應用程序,我有以下幾點:
- 主要形式
- 工具欄此形式,打開了一個第二形式來設置應用程序設置
- 該第二形式具有與各種文本框/複選框/ combolists /按鈕
- 所有這些工作完美製表控制(2個標籤)。
- 在第二個窗體的第二個選項卡上,還有更多的文本框等,我添加了一個DataGridView;所謂printerListGrid
在這種形式下,我想一個List(打印機)綁定到它的代碼視圖
printerListGrid.DataSource = AppContext.printers.printerList
當我運行我的應用程序,並轉到形式/選項卡的DataGridView是空白的。
我也曾嘗試:
printerListGrid.Columns.Clear()
printerListGrid.AutoGenerateColumns = True
printerListGrid.DataSource = AppContext.printers.printerList
再次 - 它是空白。
在調試時,我可以看到我的printerList包含了2個printer
對象。我還可以通過查看.DataSource
屬性的內容來看到這些設置已被設置爲printerListGrid。但是,DataGridView仍然是空白的。
我猜測必須有一些方法來重新呈現網格?
爲了代碼discolure;這是在List(Of Printer)
Public Structure Printer
Public id As Integer
Public name As String
Public material As Enums.Materials
Public outputFolder As String
End Structure
讓我知道如果有任何更多的代碼/說明您需要提供幫助。
UPDATE:
我忘了提。我想設置DataSource
在Private Sub
這就是所謂的形式Load事件MyBase.Load
更新#2
我繼續玩這個,試圖得到它的工作 - 我可能是完全誤解控件及其目的..無論如何,我也嘗試了以下內容:
printerListGrid.AutoGenerateColumns = False
Dim col As DataGridViewColumn = New DataGridViewTextBoxColumn()
col.DataPropertyName = "name"
col.HeaderText = "Name"
printerListGrid.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
col.DataPropertyName = "material"
col.HeaderText = "Material"
printerListGrid.Columns.Add(col)
col = New DataGridViewTextBoxColumn()
col.DataPropertyName = "outputFolder"
col.HeaderText = "Output Folder"
printerListGrid.Columns.Add(col)
printerListGrid.DataSource = AppContext.printers.printerList
這會導致至少網格顯示行;看起來像2。然而,他們沒有從List(Of Printer)
的數據填充...
我通常做這個用的BindingSource,但由於某種原因它今天不會工作。基本上你把這個列表設置爲bindingsource中的數據源。然後,將Datagridview數據源設置爲綁定源。這樣你可以運行Bindingsource.Resetbindings(true)來更新你的datagridview。但我不能創建一個工作的例子:/ – WozzeC
很諷刺呃:)是的,我也試過了。我也試圖將相同的列表綁定到組合框。它綁定,但DataMember和ValueMember不會設置。該列表只顯示了2個項目閱讀AutoArtwork.Logic.Printer - 我試着設置這些到各種。這真的讓我感到惱怒:) – Darren
由於我總是使用屬性而引發了這個事實。我不是全球變數的忠實粉絲,今天我的大腦相信公共和財產都是同樣的東西。 – WozzeC