2017-01-20 6 views
0

これは私が使用しているコードです。私は私のテキストボックスにキーワードを入力すると、私のDataGridViewの両方が新しいDataViewsたびに作成しないでくださいdatagridview11つの検索ボックスで異なるデータベースをフィルタリングするにはどうすればよいですか?

Private Sub txt_search_TextChanged(sender As Object, e As EventArgs) Handles txt_search.TextChanged 
     Try 
      Dim DV As New DataView(dbDataSet) 
      DV.RowFilter = String.Format("FullName Like '%{0}%'", txt_search.Text) 
      DataGridView1.DataSource = DV 
      DataGridView2.DataSource = DV 
     Catch ex As Exception 
     End Try 
    End Sub 
+0

'DataBind() 'の呼び出しでDataGridViewを再バインドする必要があるかもしれません。 –

+0

DataSetに複数のDataTableがありますか? DataGridViewの '.DataMember'プロパティは何に設定されていますか? – Slai

+0

もちろん、それらは同じことを示し、それらを同じデータソースにバインドしました。 DataViewを作成する必要はありません。個々のフィルタを設定するには 'dbDataSet.Tables(X).DefaultView.RowFilter'を使用してください(Xは各テーブルのテーブルインデックスまたは名前です) – Plutonix

答えて

0

からデータソースを表示します。最初にDataViewsにバインドした場合は、新しいものを作成するのではなく、DataViewsの既存のもののRowFilterを設定します。 DataTablesにバインドした場合は、それぞれDefaultViewRowFilterDataTablesに設定します。

これを正しく実行したい場合は、をそれぞれDataGridViewのフォームに追加します。次に、DataTablesBindingSourcesにバインドし、それらをグリッドにバインドします。各BindingSourceFilterプロパティを設定します。

関連する問題