WPFについてお願いします。 WPF上にGridViewを配置しました。名前はGridView1です。 WPF上に配置されたボタンを押すと、データベースからデータを取得し、 DataTableにデータを格納。GridViewにDataTableをバインドして表示する。 といったような事がしたいです。 DataTable dt = new DataTable(); SQLCommand cmd = cn.CreateCommand(); sqlDataAdapter = new SQLDataAdapter(); cmd.CommandText = "SELECT * FROM Table"; sqlDataAdapter.Fill(dt); GridView1.ItemsSource = dt.DefaultView; //this.DataContext = dt; DataGridには何も表示されません。 GridView1.ItemsSource = dt.DefaultView; this.DataContext = dt; この2つのどちらも試しましたが、結果は同じ、GridViewには何も表示されませんでした。 何が間違っているかわかれば、お教え頂けませんでしょうか? DataTableにはクイックウォッチで正しくデータが取得できている事は確認しています。 よろしくお願いします。
まず、一つ別にプロジェクトを作って、きわめて単純な構成で動作を確認してみてください。 こんな感じかな。 <!-- Window1.xaml --> <Window // x:Class, xmlnsなどの宣言 Loaded="Window1_Loaded" > <DataGrid x:Name="DataGrid1"> </DataGrid> </Window> // Window1.xaml.cs public partial class Window1 : Window { // Window1()の定義 private void Window1_Loaded(object sender, EventArgs e) { DataTable table; // ここでtableにデータをセット System.Diagnostics.Debug.Print("列数={0} 行数={1}", table.Columns.Count, table.Rows.Count); this.DataGrid1.ItemsSource = table.DefaultView; } }