Проблема с фильтром Combobox?
Я сделал фильтрацию для следующей таблицы доступа, и она была успешно отфильтрована, но у меня есть сомнения?
1. Если я фильтрую в имени комбо, то должен показать все связанные с Мани элементы всего столбца
2. например, если я искал понедельник в день combobox и я хочу выбрать Mani в имени combo. Так что все Мани, день и сумма должны фильтроваться....
Проблема : если я фильтрую имя, то это был только столбец имени фильтра, если я фильтрую столбец дня, то это был только столбец дня фильтра... Пожалуйста, помогите в этом
ID Name Day Amount 1 Mani Monday 50 2 Subash Tuesday 100 3 Mani Tuesday 100 4 subash Mondy 50 5 Mani Wednesday 100 6 Subash Wednesday 50 7 Mani Thursday 100 8 Mani Friday 10 9 Mani Saturday 30 10 Subash Saturday 20 11 Subash Sunday 100
Что я уже пробовал:
Imports System.Data.OleDb Public Class Form1 Dim cmd As OleDbCommand Dim dr As OleDbDataReader Dim sql As String Dim str As String Dim da As New OleDbDataAdapter Dim ds As New DataSet Dim row As DataRow Dim dt As New DataTable Dim bs As New BindingSource Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load LD() fillcombo() fillcombo1() fillcombo2() End Sub Public Sub LD() ConnD() sql = "select ID,Name,Day,Amount from Empdata" cmd = New OleDbCommand(sql, conn) da = New OleDbDataAdapter(sql, conn) da.Fill(dt) bs.DataSource = dt dr = cmd.ExecuteReader() dg1.DataSource = bs End Sub Public Sub fillcombo() ConnD() Try sql = "select distinct Name FROM Empdata" cmd = New OleDbCommand(sql, conn) dr = cmd.ExecuteReader() compbo.Items.Clear() Do While dr.Read compbo.Items.Add(dr.GetValue(0).ToString) Loop Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() conn.Dispose() conn = Nothing End Sub Public Sub fillcombo1() ConnD() Try sql = "select distinct Day FROM Empdata" cmd = New OleDbCommand(sql, conn) dr = cmd.ExecuteReader() ComboBox3.Items.Clear() Do While dr.Read ComboBox3.Items.Add(dr.GetValue(0).ToString) Loop Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() conn.Dispose() conn = Nothing End Sub Public Sub fillcombo2() ConnD() Try sql = "select distinct Amount FROM Empdata" cmd = New OleDbCommand(sql, conn) dr = cmd.ExecuteReader() ComboBox2.Items.Clear() Do While dr.Read ComboBox2.Items.Add(dr.GetValue(0).ToString) Loop Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() conn.Dispose() conn = Nothing End Sub Private Sub compbo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles compbo.SelectedIndexChanged ConnD() Try bs.Filter = "Name like '%" + compbo.Text + "%'" dg1.DataSource = bs Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() dg1.Visible = True End Sub Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged ConnD() Try bs.Filter = "Day like '%" + ComboBox3.Text + "%'" dg1.DataSource = bs Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() dg1.Visible = True End Sub Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged ConnD() Try bs.Filter = "Amount like '%" + ComboBox2.Text + "%'" dg1.DataSource = bs Catch ex As Exception MessageBox.Show(ex.Message) End Try conn.Close() dg1.Visible = True End Sub End Class