gpt4 book ai didi

.net - 设置Datasource后DataGridView为空

转载 作者:行者123 更新时间:2023-12-02 08:44:55 24 4
gpt4 key购买 nike

我查看并发现了一个类似的问题,但没有解决我的问题 - 另一个问题是 datagridview-is-blank-after-changing-datasource-at-runtime

我确信这是一个简单的问题,答案更简单。在我的第一个 Windows 窗体应用程序上工作,发现一些与 ASP.Net 有很大不同的东西:)

所以在这个应用程序中我有以下内容:

  • 主窗体
  • 此表单上的工具栏,打开第二个表单以设置应用程序设置
  • 第二种形式有一个选项卡控件(2 个选项卡),带有各种文本框/复选框/组合列表/按钮
    • 所有这些都很完美。
  • 在第二个表单的第二个选项卡上,连同更多文本框等,我添加了一个 DataGridView;称为 printerListGrid

在这个表单的代码 View 中,我试图将一个 List(Of Printer) 绑定(bind)到它

printerListGrid.DataSource = AppContext.printers.printerList

当我运行我的应用程序并转到表单/选项卡时,DataGridView 是空白的。

我也试过:

    printerListGrid.Columns.Clear()
printerListGrid.AutoGenerateColumns = True
printerListGrid.DataSource = AppContext.printers.printerList

同样 - 它是空白的。

调试时我可以看到我的 printerList 包含 2 个 printer 对象。通过查看 .DataSource 属性的内容,我还可以看到这些已设置到 printerListGrid。然而,DataGridView 仍然是空白的。

我猜一定有什么方法可以重新渲染网格?

为了代码公开;这是 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

如果您需要更多代码/描述来提供帮助,请告诉我。

更新:

忘记说了。我正在尝试在 Private Sub 中设置 DataSource,它在表单 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)...

的数据

最佳答案

发现我做错了什么。基本上试试这个:

Public Structure Printer
Property id As Integer
Property name As String
Property material As Enums.Materials
Property outputFolder As String
End Structure

关于.net - 设置Datasource后DataGridView为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com