Vb.net Select查询填充datagridview但为空整数,为什么?
My datagridview由excel工作表填充(使用select*from$Sheet1),大多数值插入datagridview(大多数是字符串),但仅整数值为空 空查询示例 这就是我填充datagridview的方式Vb.net Select查询填充datagridview但为空整数,为什么?,vb.net,excel,datagridview,Vb.net,Excel,Datagridview,My datagridview由excel工作表填充(使用select*from$Sheet1),大多数值插入datagridview(大多数是字符串),但仅整数值为空 空查询示例 这就是我填充datagridview的方式 Private Sub btnimportStdntList_Click(sender As Object, e As EventArgs) Handles btnimportStdntList.Click OpenFileDialog1.Title =
Private Sub btnimportStdntList_Click(sender As Object, e As EventArgs) Handles btnimportStdntList.Click
OpenFileDialog1.Title = "Please Select the excel file with the list of question"
OpenFileDialog1.FileName = "listofquestion.xls"
OpenFileDialog1.Filter = "Excel Sheet(*.xls)|*.xls|All Files(*.*)|*.*"
OpenFileDialog1.InitialDirectory = "C:temp"
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Try
Dim strm As System.IO.Stream
strm = OpenFileDialog1.OpenFile()
txtQuestionList.Text = OpenFileDialog1.FileName.ToString()
cn = New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + txtQuestionList.Text + "';Extended Properties=Excel 8.0;")
cn.Open()
FillDataGridView("SELECT * FROM [Sheet1$]")
Catch myerror As Exception
MessageBox.Show(myerror.Message)
Finally
cn.Close()
End Try
End Sub
Private Sub FillDataGridView(ByVal Query As String)
da = New OleDbDataAdapter(Query, cn)
dt = New DataTable
da.Fill(dt)
With DataGridView1
.DataSource = dt
End With
End Sub
如何修复它?请检查数据表单元格整数的内容,例如dt.行[0][2]?它是否等于DBNull.Value?如果(e.RowIndex>=0),则尝试添加此
,如果IsDBNull(DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)=True,则MsgBox(“True”)或MsgBox(“FALSE”)结束如果结束如果
空白单元格返回True请检查datatable以隔离datatable加载或Datagridview显示上的问题。上面提到的代码似乎还可以。因此,我认为问题来自datagridview事件。如果定义了一些事件处理程序,可以显示它们的代码吗?datagridview上没有事件处理程序,上面的代码占表单中代码总数的90%(不包括导入和连接字符串),请尝试修改连接字符串中的扩展属性,如下所示:“扩展属性=Excel 8.0;HDR=否;IMEX=1;”