10

我知道这已经被问过好几次了,但我无法得到这个。我有一个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 中绑定,但没有成功。

4

2 回答 2

12

这应该工作:

GridData.ItemsSource = vDs.Tables["Book"].DefaultView;

或者您可以创建自己的DataView

GridData.ItemsSource = new DataView(vDs.Tables["Book"]);

DataTable.DefaultView为您提供DataView哪些工具IEnumerable并可用作ItemsSource

于 2013-06-06T14:41:43.513 回答
0

好的,所以可能是您正在处理的相同问题。

您可以尝试ItemsSource如下设置属性:

GridData.ItemsSource = vDs.Tables["Book"].AsEnumerable();
于 2013-06-06T14:33:23.907 回答