我有一个SQL CE数据库,我想在 DataGrid 上显示其数据。 我可以执行SQL查询,然后将 Items.Add 循环到 DataGrid 。但我想知道是否可以直接将SQL CE数据库绑定到 DataGrid ,而无需通过循环或使用DataReader进行刷新。
例如,如果有新的行添加到数据库,DataGrid将自动显示它,而无需我手动刷新它(例如,带有SQL查询的按钮)。
我尝试了以下方法,但没有成功:
dataGrid1.ItemsSource = connString.Database;
有什么建议吗? (顺便说一句,我在运行时创建了所有控件,所以没有XAML解决方案)
答案 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