Datagridview 是空白的 - 试图从 API 服务引用填充
Datagridview is blank - trying to populate from API service reference
我今天一直在网上尝试不同的事情,但我只是不知何故错过了船。我正在尝试使用提供的 api 中的数据填充数据网格视图。但是,当代码执行时,不会抛出任何错误,但 datagridview 中不会显示任何信息。您还会注意到引用了一个列表框。我能够按预期在列表框中显示来自 API 的值,所以我知道我只是在 datagridview 设置中做错了什么,但我似乎无法查明它。感谢您的帮助!
Dim frmTestCase As New Form1
Dim dgv As New DataGridView
dgv = frmTestCase.DataGridView1
dgv.Columns.Add("ID", "ID")
dgv.Columns.Add("Name", "Name")
Dim i As Integer
'Loop through test cases and get their data for datagrid
For i = 0 To UBound(remoteTestCases) - 1
Dim matchingTestCase = remoteTestCases(i)
Dim testCaseID As String = CStr(matchingTestCase.TestCaseId.Value)
Dim testCaseName As String = matchingTestCase.Name
Dim row As DataGridViewRow = New DataGridViewRow
row.CreateCells(dgv)
row.Cells(0).Value = testCaseID
row.Cells(1).Value = testCaseName
dgv.Rows.Add(row)
Me.ListBox1.Items.Add(testCaseID)
Next
此代码:
Dim frmTestCase As New Form1
Dim dgv As New DataGridView
dgv = frmTestCase.DataGridView1
似乎 试图缩短对 dgv
的引用。但在这样做时,它会创建一个新的 Form1
实例,并通过扩展创建一个新的 DataGridView1
。您很可能会在从未显示的表单上填充 DGV。
一种补救措施是使用 IDE 属性 编辑器将此表单 (Me) 上的 DataGridView1
重命名为更有意义或更短的名称。
如果 dgv 是当前表格,创建较短参考的方法是:
Dim dgv As DataGridView = Me.DataGridView1
如果控件在不同的现有窗体上1:
Dim dgv As DataGridView = theOtherFrmRef.DataGridView1
最后,如果您正在尝试在新表单实例上填充 DGV,请务必Show()
它最后。
New
创建一个新的实例,你根本不需要新的 Form ref 或新的 DGV。假设已经有列添加到DGV中,添加行也可以简化为:
dgv.Rows.Add(testCaseID, testCaseName)
1 也假定显式实例。否则你可能不会发布到你认为的实例。
我今天一直在网上尝试不同的事情,但我只是不知何故错过了船。我正在尝试使用提供的 api 中的数据填充数据网格视图。但是,当代码执行时,不会抛出任何错误,但 datagridview 中不会显示任何信息。您还会注意到引用了一个列表框。我能够按预期在列表框中显示来自 API 的值,所以我知道我只是在 datagridview 设置中做错了什么,但我似乎无法查明它。感谢您的帮助!
Dim frmTestCase As New Form1
Dim dgv As New DataGridView
dgv = frmTestCase.DataGridView1
dgv.Columns.Add("ID", "ID")
dgv.Columns.Add("Name", "Name")
Dim i As Integer
'Loop through test cases and get their data for datagrid
For i = 0 To UBound(remoteTestCases) - 1
Dim matchingTestCase = remoteTestCases(i)
Dim testCaseID As String = CStr(matchingTestCase.TestCaseId.Value)
Dim testCaseName As String = matchingTestCase.Name
Dim row As DataGridViewRow = New DataGridViewRow
row.CreateCells(dgv)
row.Cells(0).Value = testCaseID
row.Cells(1).Value = testCaseName
dgv.Rows.Add(row)
Me.ListBox1.Items.Add(testCaseID)
Next
此代码:
Dim frmTestCase As New Form1
Dim dgv As New DataGridView
dgv = frmTestCase.DataGridView1
似乎 试图缩短对 dgv
的引用。但在这样做时,它会创建一个新的 Form1
实例,并通过扩展创建一个新的 DataGridView1
。您很可能会在从未显示的表单上填充 DGV。
一种补救措施是使用 IDE 属性 编辑器将此表单 (Me) 上的 DataGridView1
重命名为更有意义或更短的名称。
如果 dgv 是当前表格,创建较短参考的方法是:
Dim dgv As DataGridView = Me.DataGridView1
如果控件在不同的现有窗体上1:
Dim dgv As DataGridView = theOtherFrmRef.DataGridView1
最后,如果您正在尝试在新表单实例上填充 DGV,请务必Show()
它最后。
New
创建一个新的实例,你根本不需要新的 Form ref 或新的 DGV。假设已经有列添加到DGV中,添加行也可以简化为:
dgv.Rows.Add(testCaseID, testCaseName)
1 也假定显式实例。否则你可能不会发布到你认为的实例。