Vb.net Datagridview为空-尝试从API服务引用填充
今天我在网上尝试了很多不同的事情,但不知怎么的,我只是错过了机会。我正试图用提供的api中的数据填充datagridview。但是,当代码执行时,不会抛出任何错误,但datagridview中不会显示任何信息。您还将注意到引用了一个列表框。我能够像预期的那样在列表框中显示API中的值,所以我知道我只是在datagridview设置中做了一些错误的事情,但我似乎无法准确指出它。谢谢你的帮助Vb.net Datagridview为空-尝试从API服务引用填充,vb.net,datagridview,service-reference,Vb.net,Datagridview,Service Reference,今天我在网上尝试了很多不同的事情,但不知怎么的,我只是错过了机会。我正试图用提供的api中的数据填充datagridview。但是,当代码执行时,不会抛出任何错误,但datagridview中不会显示任何信息。您还将注意到引用了一个列表框。我能够像预期的那样在列表框中显示API中的值,所以我知道我只是在datagridview设置中做了一些错误的事情,但我似乎无法准确指出它。谢谢你的帮助 Dim frmTestCase As New Form1 Dim dgv As New Dat
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,请确保在最后显示它
New
创建任何内容的新实例,您根本不需要新的表单引用或新的DGV。假设已经有列添加到DGV,添加行也可以简化为:
dgv.Rows.Add(testCaseID, testCaseName)
1还假定显式表单实例。否则,您可能不会发布到您认为是的实例中。我认为您添加实例的方式不正确。您确定id和名称是单元格0和1吗?您可能希望引用列名,尽管这可能不是您的问题。谢谢!这么简单的一个错误让我的头撞到了墙上。我非常感谢你的回答