2012-04-19 6 views
1

データセットへのDataGridviewsのバインディングは全く新しいです。私は、作成したデータセットを持っていると思う(私は)SQL ServerのDBからテーブルでそれを埋めると思う。しかし、私がdatagridviewを塗りつぶししようとすると、Column1、Column2などのような列見出しを持つ空白の7列の表しか表示されません。私は何か愚かな行が見つからないと確信しています。誰が何が間違っているのを見ますか?なぜ私のデータセットを私のデータセットに設定すると、私のDataGridビューに空白の行しか表示されないのですか?

編集 、それを解決しません私のデータセットがいっぱいなっていないように思えます。 Dataset1.tables(0)には行がありません。 GUIから、AverageWeeklyLabsTableAdapterという名前のものがあるようです(下の写真を参照)。私は、データセットがLINQのように機能し、オブジェクトがデータで自動的に満たされると仮定していたと思いますが、データセットを埋めるためにコードを呼び出す必要がありますか?ロードイベントで

...

Dim myBindingSource As BindingSource = New BindingSource 
    myBindingSource.DataSource = DataSet1.Tables(0) //has no rows 
    DataGridView1.DataSource = myBindingSource 
    DataGridView1.ReadOnly = True 

データセット

enter image description here

答えて

1

私はdatagridviewにデータをロードすると、私はBindingSourceを使用しますが、あなたの限られたコードから、それはありませんあなたがそうしているように見える。

だからあなたは、あなたのこれに似た、あなたのデータをBindingSource、(簡略化のために短縮コード)をロードテーブルのデータを使用してDataSetを記入します:あなたのEDITに基づいて

dataAdapter.Fill(table); 
bindingSource1.DataSource = table; 
datagridview1.DataSource = bindingSource1; 

それは表示されませんが、あなたこと実際にデータを入力しています。データベースからデータを取得するには、テーブルアダプタのFillを使用する必要があります。また、.NETはこのようなの(データセットに基づいて)データテーブルの種類の特定のオブジェクト型を期待しています。ここでは

var adapter = new AverageWeeklyLabsTableAdapter(); 
var dataTable = new myForm.DataSet1.AverageWeeklyLabsDataTable 
adapter.Fill(dataTable); 
bindingSource1.DataSource = dataTable; 
datagridview1.DataSource = bindingSource1; 

がtableadapters程度のSO上の別の質問です:

What do C# Table Adapters actually return?

+0

感謝しかし、このコードでは不運... Dim myBindingSource As BindingSource =新しいBindingSource myBindingSource.DataSource = DataSet1.Tables(0) DataGridView1.DataSource = myBindingSource DataGridView1.ReadOnly = True – bernie2436

+0

ブレークポイントを配置する場合実際にクエリから返されるデータがありますか? – Taryn

+0

DataSet1.Tables(0)に行がありません – bernie2436

関連する問題