2011-05-04 77 views
0

我有一个SQL CE数据库,我想要在DataGrid上显示其数据。 我可以做一个SQL查询,然后做一个循环的Items.AddDataGrid。但我想知道是否可以将SQL CE数据库直接绑定到DataGrid,而无需刷新循环或使用DataReader。例如,如果有新的行添加到数据库中,则DataGrid会自动显示它,而不用手动刷新它(例如,带有SQL查询的Button)。如何将SQL CE数据库绑定到DataGrid控件?

我沿着以下方法尝试,但它没有工作:

dataGrid1.ItemsSource = connString.Database; 

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

回答

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 
相关问题