如何将DataGrid绑定到DataTable所有代码?
如何在C#代码后面将DataGrid绑定到DataTable? (所有控件都是在运行时生成的,所以请不要XAML)
我尝试了Binding(),设置DataContext,设置ItemsSource,但都不起作用:
/* Binding() fails */ Binding bind = new Binding(); bind.Source = dataset; bind.Path = new PropertyPath("dataset.Tables"); datagrid.SetBinding(DataSet, bind); /* DataContext fails */ datagrid.DataContext = dataset.Tables; /* ItemsSource fails */ datagrid.ItemsSource = dataset.Tables;
我需要做的就是将DataGrid绑定到DataTable,因此当DataTable中添加了新行时,它将自动显示在DataGrid上。
我通过stackoverflow和谷歌搜索,但奇怪的是我找不到解决方案。
尝试绑定到数据集中的一个表:
datagrid.ItemsSource = dataset.Tables[0].DefaultView;
此外,为了在您的数据及其表单上的表示之间保持良好的抽象层,我建议您将DataGridView的属性AutoGenerateColumns设置为false,并添加您想要手动显示的列,并使用您选择的标题名称(在这种情况下,不要忘记设置列的DataPropertyName属性)。