我知道这已经好几次了,但是我无法得到这个。
我有一个DataSet
和一个DataGrid
。我想要做的就是在DataSet
中显示DataGrid
的内容。
我写了这段代码:
vConn = new OleDbConnection(ConnectionString);
vConn.Open();
vQuery = "Select * from Book";
DataSet vDs = new DataSet();
OleDbDataAdapter vAdap = new OleDbDataAdapter(vQuery, vConn);
vAdap.Fill(vDs,"Book");
GridData.DataContext = vDs.Tables["Book"];
vConn.Close();
但由于某种原因,DataGrid上没有显示数据。我尝试将AutoGenerateColumn设置为True / False。我也试过在xaml中绑定但它没有用。
答案 0 :(得分:7)
这应该有效:
GridData.ItemsSource = vDs.Tables["Book"].DefaultView;
或者您可以创建自己的DataView
:
GridData.ItemsSource = new DataView(vDs.Tables["Book"]);
DataTable.DefaultView
为您DataView
提供了IEnumerable
,可以用作ItemsSource
答案 1 :(得分:0)
好的,所以here可能与您正在处理的问题相同。
您可以尝试设置ItemsSource
属性,如下所示:
GridData.ItemsSource = vDs.Tables["Book"].AsEnumerable();