2017-11-26 20 views
-2

私はSQLデータベースからデータを取得するアプリケーションを持っています。私はデータでデータセットをロードし、それをDatagridviewに簡単にバインドすることができます。私の問題は、データの一部だけが必要なときです。次に、column(n)= valueの行だけをバインドしたいと思います。これは可能ですか?私は異なる状況ごとに自分のデータセット内の別のテーブルを使用することで得ることができますが、それは潜在的に多くのテーブルになる可能性があります。私はまだオンラインで何かを見つけることができませんでしたが、探し続けるでしょう。条件付きデータグリッドビューへのデータバインディング

説明が必要なものについては、データベース内の同じテーブルのデータを、異なる形式で複数の異なる方法で同時に表示する必要がある場合があります。

DataGridView1.DataSource = Nothing 
    DataGridView1.Rows.Clear() 
    With DataGridView1 
     .AutoGenerateColumns = False 
     datcol.DataPropertyName = "Date" 
     Acccol.DataPropertyName = "Account" 
     Namcol.DataPropertyName = "Name" 
     Descol.DataPropertyName = "Description" 
     amtcol.DataPropertyName = "Amount" 
     ID.DataPropertyName = "ID" 
     .Columns(4).DefaultCellStyle.Format = "c" 
     .DataSource = MyDataset.Tables("ExpenseData") 
    End With 

これは、すべてを示すメインのデータグリッドビューをロードする方法です。今では、 "Name" = "John Doe"の行だけをロードする必要がある別のフォームがあるとします。データベースへの別の呼び出しを行い、データセット内の別のテーブルをロードする正しい方法はありますか?または、私はそれを読み込むときに現在のテーブルをフィルタリングできますか?

+0

すべてのデータセットを一度に読み込む必要がありますか。 1つのテーブルを表示する場合は、必要なテーブルのみをデータベースからロードすることができます – Fabio

+0

[質問]を読んでください...あなたのニーズを明確にするためにあなたの質問を編集してください。 –

答えて

0

DataTableを入力し、BindingSourceにバインドしてグリッドにバインドします。データをフィルタリングする場合は、BindingSourceFilterプロパティを設定します。

myBindingSource.Filter = "SomeColumn = " & someValue 
関連する問題