如何将SQL CE数据库绑定到DataGrid控件?

时间:2011-05-04 09:34:46

标签: c# wpf sql-server-ce

我有一个SQL CE数据库,我想在 DataGrid 上显示其数据。 我可以执行SQL查询,然后将 Items.Add 循环到 DataGrid 。但我想知道是否可以直接将SQL CE数据库绑定到 DataGrid ,而无需通过循环或使用DataReader进行刷新。

例如,如果有新的行添加到数据库,DataGrid将自动显示它,而无需我手动刷新它(例如,带有SQL查询的按钮)。

我尝试了以下方法,但没有成功:

dataGrid1.ItemsSource = connString.Database;

有什么建议吗? (顺便说一句,我在运行时创建了所有控件,所以没有XAML解决方案)

2 个答案:

答案 0 :(得分:1)

行不在数据库中,而是在表中。一个数据库可以有多个表。因此绑定数据库将无法正常工作。我还认为你必须先从表中获取数据,然后才能绑定它们。我不是数据库专家,但我从未见过直接绑定数据库表。

答案 1 :(得分:1)

您需要将网格绑定到特定的表。

您所做的是通过数据适配器填充数据集,然后绑定网格。

cmd = New SqlCeCommand("select * from testtable", conn)

If conn.State = ConnectionState.Closed Then conn.Open()

datAdapter = New SqlCeDataAdapter(cmd)
datSet = New DataSet

datAdapter.Fill(datSet, "myTable")

myBind = New BindingSource(datSet, "myTable")

Me.grid.DataSource = myBind