首页 > 解决方案 > 以 DataTable 作为 DataSource 的 DataGridView 中未显示数据

问题描述

我正在尝试在 DataGridView 中加载表。由于某种原因,通过按钮执行以下代码后数据不显示:

Private Sub btnLoadData_Click(sender As Object, e As EventArgs) Handles btnLoadData.Click
    BindDataGridView()
End Sub

Public Sub BindDataGridView()
    Dim dt As New DataTable()
    With dt.Columns
        .Add("Id", System.Type.GetType("System.Int32"))
        .Add("Name", System.Type.GetType("System.String"))
        .Add("Country", System.Type.GetType("System.String"))
    End With
    dt.Rows.Add(1, "John Hammond", "United States")
    dt.Rows.Add(2, "Mudassar Khan", "India")
    dt.Rows.Add(3, "Suzanne Mathews", "France")
    dt.Rows.Add(4, "Robert Schidner", "Russia")
    FormTest.TestDatagridView.DataSource = dt
End Sub

当我尝试上面的代码时,TestDatagridView 是空的。

FormTest 是 MainForm 中的一个 Form(应用程序启动时显示的主 WinForm)。单击 btnFormTest 按钮时显示:

Private Sub btnFormTest_Click(sender As Object, e As EventArgs) Handles btnTestForm.Click
    OpenChildForm(New FormTest)
End Sub

'Open the selected Form
Private Sub OpenChildForm(childForm As Form)
    'Open only form'
    If currentChildForm IsNot Nothing Then
        currentChildForm.Close()
    End If
    currentChildForm = childForm
    'end'
    childForm.TopLevel = False
    childForm.FormBorderStyle = FormBorderStyle.None
    childForm.Dock = DockStyle.Fill
    Me.Controls.Add(childForm)
    Me.Tag = childForm
    childForm.BringToFront()
    childForm.Show()
End Sub

标签: vb.netwinformsdatagridviewdatatable

解决方案


推荐阅读