我也看了一下,发现一个问题,这是类似的后空白,虽然没有解决我的问题 - 其他问题是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