簡體   English   中英

使用click事件填充datagridview

[英]Populate datagridview with click event

我正在嘗試在click事件(如搜索按鈕)上加載datagridview。 在此過程中我沒有收到任何錯誤,但是我的datagridview沒有填充。 我知道打開數據庫連接的方法是可行的,並且我的SQL語句在Access中對其進行測試時也可以正常工作,並且我相信如果它仍然是SQL語句,它將轟炸。 我認為這是在事件聲明中,但是我對vb還是很陌生。 我的代碼如下:

Private Sub btnQuickSearch_Click(sender As Object, e As EventArgs) Handles btnQuickSearch.Click
    dgvQuickSearchEmployee.Visible = True
    qSearchEmployee()

End Sub

Private Sub qSearchEmployee()
    conOpen()
    Dim qSearchString As String
    qSearchString = tbQuickSearch.Text
    qSearchString = qSearchString.ToUpper()



    sqlStr = "SELECT employeeID, firstName, lastName, department FROM [employee] WHERE (employeeID LIKE '*" & qSearchString & "*' OR firstName LIKE '*" & qSearchString & "*' OR lastName LIKE '*" & qSearchString & "*' OR department LIKE '*" & qSearchString & "*') AND active = TRUE"


    Dim ds As DataSet = New DataSet
    Dim dt As DataTable = New DataTable
    ds.Tables.Add(dt)
    Dim daEmployee As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, con)
    daEmployee.Fill(dt)
    dgvQuickSearchEmployee.DataSource = dt.DefaultView
    dgvQuickSearchEmployee.Refresh()

End Sub

任何幫助將不勝感激。

**更新! 這是我的代碼現在的外觀(沒有太大不同)。 現在它正在填充datagridview,但無論我對搜索做什么,它根本不會返回任何結果。

Private Sub btnQuickSearch_Click(sender As Object, e As EventArgs) Handles btnQuickSearch.Click
    dgvQuickSearchEmployee.Visible = True
    qSearchEmployee()

End Sub

Private Sub qSearchEmployee()
    conOpen()
    Dim qSearchString As String
    qSearchString = tbQuickSearch.Text
    qSearchString = qSearchString.ToUpper()

    sqlStr = "SELECT employeeID, firstName, lastName, department FROM [employee] WHERE (employeeID LIKE '*" & qSearchString & "*' OR firstName LIKE '*" & qSearchString & "*' OR lastName LIKE '*" & qSearchString & "*' OR department LIKE '*" & qSearchString & "*') AND active = TRUE"

    Dim ds As DataSet = New DataSet
    Dim dt As DataTable = New DataTable
    ds.Tables.Add(dt)
    Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, con)
    da.Fill(dt)
    dgvQuickSearchEmployee.DataSource = dt.DefaultView
    dgvQuickSearchEmployee.Refresh()

End Sub

試試這個代碼

'Dim ds As DataSet = New DataSet    'Not required or Not inused
Dim dt As DataTable = New DataTable
'ds.Tables.Add(dt)          'Not required or Not inused
Dim daEmployee As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, con)
daEmployee.Fill(dt)
dgvQuickSearchEmployee.DataSource = dt
dgvQuickSearchEmployee.Refresh()

代替dgvQuickSearchEmployee.Refresh()嘗試dgvQuickSearchEmployee.Databind()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM