簡體   English   中英

使用組合框的Vb.Net篩選器Datagridview

[英]Vb.Net Filter Datagridview using combo box

我在我的其他Windows窗體中使用Visual Studio時遇到問題,我無法正常運行,但我現在在另一種窗體上使用它,並且不再進行過濾,我不知道為什么。

我試圖在數據網格視圖中顯示一個列表,並使用兩個組合框對其進行過濾。 這是該主題的示例數據庫:

-------------------------------------------------------------------------------
|subject_id|subject_name|subject_code|subject_units|    sem        |year_level
------------------------------------------------------------------------------
|    1     |  MATH      | Math101    |     3       |First Semester | First Year
|    2     |  English   | ENG101     |     3       |First Semester | First Year
|    3     |  Prgrming  | IT101      |     3       |Second Semester| First Year
|    4     |  Networking| IT203      |     3       |Second Semester| First Year

這是我的代碼。

myconn = New MySqlConnection
    myconn.ConnectionString = connstring
    myconn.Open()
    tables = ds.Tables
 ds = New DataSet
    tables = ds.Tables
    Dim Query As String
    Query = "selct * from subject_bsit"

'*** CHECKING IF ALL REQUIRED FIELDS ARE PRESENT *****
    If ComboBox1.Text = "" Or ComboBox2.Text = "" Then
        MessageBox.Show("Complete all fields.")
        Exit Sub
    End If



 If (ComboBox1.Text = "All") And (ComboBox2.Text = "First Semester") Then
            da = New MySqlDataAdapter("Select subject_id as 'ID',subject_name as 'SUBJECT',subject_code as 'SUBJECT CODE',subject_units as 'UNITS',sem as 'Semester',year_level as 'YEAR LEVEL' from subject_bsit  where sem = '" + ComboBox2.Text + "' or year_level = '" + ComboBox1.Text + "' ", myconn)
            da.Fill(ds, "subject_bsit")

            Dim view As New DataView(tables(0))
            source1.DataSource = view
            DataGridView1.DataSource = view
            DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
        End If

在此處輸入圖片說明

正如您在示例圖像中看到的那樣,結果必須是“一年級”至“四年級”,但只能是“所有第一學期”科目,但在圖中還顯示了第二學期。

這讓我感到困惑,因為我在其他形式上有完全相同的代碼,但是工作正常。 請幫忙,非常感謝。

重新啟動Visual Studio解決了該問題。

您只需要像這樣將邏輯運算符“或”替換為sql字符串中的“和”:

來自subject_bsit,其中sem ='“ + ComboBox2.Text +”'和year_level ='“ + ComboBox1.Text +”',myconn)

希望對您有幫助,^ _ ^

暫無
暫無

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

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