如何将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属性)。