現在、私は現在、デスクトップ用のVB.NET expressで作業しています。2013年には、配列を持つループ上でSQLデータをいくつかのdatagridviewにバインドするのが苦労しています。私はオブジェクトのnullエラーを受け取りました。その理由は、直接キャストラインでは、データグリッドビューを引っ張っていないからです。私はタブコントロールツール、タブごとに1つのdatagridviewに複数のdatagridviewsを持っています。ここに私のコードは次のとおりです。DataGridviewのnullエラーを与える直接キャスト
try
Dim array() As Integer = {"2", "3", "4", "7", "8", "10", "11", "12"}
For Each value As Integer In array
Dim RelativeDGV = DirectCast(Me.Controls("DataGridLine" & value), DataGridView)
Using conn1 As New SqlConnection(connstring)
conn1.Open()
Using comm1 As New SqlCommand("SELECT LineNumber FROM tableA where LineNumber = @LineNumber", conn1)
comm1.Parameters.AddWithValue("@LineNumber", value)
Dim dt As New DataTable
Dim sql As New SqlDataAdapter(comm1)
sql.Fill(dt)
RelativeDGV.DataSource = dt
End Using
conn1.Close()
End Using
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
RelativeDGV.DataSource = dt
厳格 '「2」、「3」、「4」は'整数 – Plutonix
@Plutonixではありませんオプションをオンに私はオプションに厳しいなって、それも2、3、4に変更され、コードはまだ私を悩ませています。 – Cheddar
問題を再現できません。あなたが 'Option Infer On'を持っていると仮定すると、' RelativeDGV'は 'DataGridView'型です(そうでなければ' Dim RelativeDGV As DataGridView = DirectCast(.....) ')。 DataGridLine2、DataGridLine3などがすべて存在し、DataGridView型であり、フォームのControlsコレクションのメンバー( 'GroupBox'や他のコンテナ内ではない)ですか? – Blackwood