2013-01-04 2 views
0

오히려 내장 된 마법사 기능을 사용하여 내 datagridview 연결을 프로그래밍했습니다. 내가 가지고있는 문제는 현재 SQL Filter가 바인딩 소스를 검색하는 것처럼 느껴지지 않는다. 내가 의미하는 바는 텍스트 상자에 입력 할 때 데이터 격자에 표시된대로 데이터베이스의 'SkuNo'열의 데이터를 필터링하고 싶습니다. 이것은 매우 쉽고 마법사로 잘 작동하지만 코드를 통해 고민하고 있습니다. 내 코드 :VB DataGrid 바인딩 소스 필터

Private Sub txtSearchOnSku_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearchOnSku.TextChanged 
    Dim source1 As New BindingSource() 

    DataGridView1.DataSource = source1 

    source1.Filter = "skuNo LIKE'" & txtSearchOnSku.Text & "*'" 
End Sub 
End Class 

도움이 될 것입니다.

+0

? 너는 무엇을 얻 느냐? 왜 그것이 효과가 없다고 생각합니까? – Neolisk

+0

DataGrid가 비어 있습니다. 내가 (예를 들어) 문자 'c'로 시작하는 데이터 항목이 있다면 입력란에 'c'를 입력하면 그 단일 결과가 입력 될 때 DataGrid에 나타나야하지만 입력 한 내용은 비어있는 것으로 표시됩니다. – user1352057

+0

게시 한 코드는'BindingSource'를 생성하지만 그것을 채우지 않으므로'DataGridView1.DataSource = source1'는 DataGrid를 빈 목록에 연결합니다. – prprcupofcoffee

답변

0

좋아는 사람

분류 Heres는 코드 : 어떻게됩니까

Dim sql As String = "SELECT * FROM duragadget" 
Dim connection As New OleDbConnection(duraGadgetDB) 
Dim dataadapter As New OleDbDataAdapter(sql, connection) 
Dim ds As New DataSet() 
Dim dsView As New DataView 
Dim bs As New BindingSource() 
connection.Open() 
dataadapter.Fill(ds, "dura") 
connection.Close() 
dsView = ds.Tables(0).DefaultView 
bs.DataSource = dsView 
bs.Filter = "skuNo LIKE'" & txtSearchOnSku.Text & "*'" 
DataGridView1.DataSource = bs 
+0

매번 TextChanged에서 해본 적이 없기를 바랍니다. 가능한 한 빨리 답변을 수락하는 것을 잊지 마십시오 (귀하가 할 수 있기 전에 지체가 있음을 알고 있습니다). – Neolisk