나는 데이터 원본에 Acces 테이블이있는 datagridview가 있습니다. datagridview가 채워져 완벽하지만 이제는 필터 가능성이있는 추가 콤보 박스를 만들고 싶습니다.VB.net 데이터 소스 필터
이 페이지의 내 부하 기능에 : 콤보 상자는 또한 DataGridView에 채워집니다 지금이 순간
Private Sub ArchiefFacturatie_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'CharelIjsDataSet.tblFactuur' table. You can move, or remove it, as needed.
Me.TblFactuurTableAdapter.Fill(Me.CharelIjsDataSet.tblFactuur)
'Filling comboxbox part skipped
End Sub
. 이제 combobox에서 on selectChange 액션을 만들었습니다.
내가 어떻게이 문제를 해결하는 방법 몰랐다하지만 난 그것을 시도했다 :Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
'Ophalen id artikel
Dim klantid As Integer
klantid = ComboBox1.SelectedValue
Dim klantidstr As String
klantidstr = klantid.ToString
'Via query overige gegevens ophalen
' OLEDB select query
Dim myConnection As OleDbConnection
Dim DBpath As String = "C:\Facturatie\CharelIjs.accdb"
Dim sConnectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & DBpath & ";Persist Security Info=True"
myConnection = New OleDbConnection(sConnectionString)
myConnection.Open()
Dim SQLstr As String
SQLstr = "SELECT * FROM tblKlant WHERE KlantID = @id"
Dim cmd As New OleDbCommand(SQLstr, myConnection)
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataSet()
cmd.Parameters.Add("@id", OleDbType.VarChar)
cmd.Parameters(0).Value = klantid
Try
da.Fill(ds, "tblKlant")
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Can't load Web page" & vbCrLf & ex.Message)
Return
End Try
DataGridView1.DataSource = ds.Tables("tblKlant")
End Sub
소리가 좋습니다.이 튜토리얼이나이 방법의 예가 있습니까? – user3388946