2017-05-12 16 views
0

私は2つの異なるdatagridviewsに表示されるデータベース上のテーブルを持っていますが、1つはデフォルトで塗りつぶされ、テーブルのすべてのデータと2番目私は条件でいっぱいになりたい。 だから私はカスタムselectクエリでそのテーブルinitialyを記入したいと思います。それをどうすれば実現できますか?DataGridView c#、新しいカスタムの "塗りつぶし"メソッドを作成

pd:私はカスタムクエリを作成したデータセットを使用します。そのため、私が作成した特定のテーブルアダプターを持つテーブルをどのようにデフォルトで塗りつぶすのがよいでしょうか。

+0

[データビュー](https://msdn.microsoft.com/en-us/library/system.data.dataview(V = vs.110).aspxの)を使用します – LarsTech

+0

2つの異なる選択クエリで2つの異なるTableAdapterを使用します。 –

答えて

0

コードを共有することができれば、最も適切な答えをすばやく見つけることができます。あなたのDataSetにデータをフィルタリングする

  var query = db.table.Where(x=>x.column1==condition1).ToList(); 
     dataGridView1.DataSource = query(); dataGridView1.DataBind(); 

それとも、あなたがデータテーブル/データセットを満たしている場合は、

dataGridView1.DataSource = yourDataTable; dataGridView1.DataBind(); 
0

を書くことができますが、そのフィルタによって作成されたDataTableにあなたのDataGridViewのDataSourceを設定します。コードは次のようになります:

// Need to create a DataView from your original DataSet 
// and set the view to the default view from your DataSet. 
DataView view = new DataView(); 
view = myDataSet.Tables[0].DefaultView; 

// Next, create a filter on that view 
view.RowFilter = "State = 'CA'"; 

// Now create a DataTable from the view 
// and set the DataSource of the DataGridView to that DataTable. 
DataTable dt = view.ToTable("tablename"); 
dgrdToDisplay.DataSource = dt; 
関連する問題