C# 无法按UWP中的System.Data.DataTable对象分配CollectionViewSource.Source

C# 无法按UWP中的System.Data.DataTable对象分配CollectionViewSource.Source,c#,uwp,datatable,collectionviewsource,C#,Uwp,Datatable,Collectionviewsource,你好 我正在尝试在Microsoft.Toolkit.Uwp.UI.Controls.DataGrid中显示System.data.DataTable中的数据。我通过CollectionViewSource将组件绑定到表 在UWP下,无法使用Windows.UI.Xaml.Data.CollectionViewSource对象 无法按System.Data.DataTable对象分配CollectionViewSource.Source 尝试分配时,会引发错误: System.ArgumentE

你好

我正在尝试在Microsoft.Toolkit.Uwp.UI.Controls.DataGrid中显示System.data.DataTable中的数据。我通过CollectionViewSource将组件绑定到表

在UWP下,无法使用Windows.UI.Xaml.Data.CollectionViewSource对象

无法按System.Data.DataTable对象分配CollectionViewSource.Source

尝试分配时,会引发错误:

System.ArgumentException:'值不在预期范围内。'

下面是一些示例代码:

private void Button_Click(object sender, RoutedEventArgs e)
{
   System.Data.DataSet northwindDataSet = new DataSet();
   northwindDataSet.ReadXml(@"NorthwindDataSet.Xml");
   System.Data.DataTable dataTable = northwindDataSet.Tables["Customers2"];

  Windows.UI.Xaml.Data.CollectionViewSource viewSource = new CollectionViewSource();
  viewSource.Source = dataTable;
}
在WPF下,类似的代码正常工作,没有错误

错误是什么。

恐怕您无法在UWP平台中将viewSource.Source设置为DataTable。如果您想将DataTable填充到datagrid中,更多信息请参考本案例

private observetecollection collection=new observetecollection();
公共数据网格(DataTable表,DataGrid网格)
{
grid.Columns.Clear();
for(int i=0;i
此线程有任何更新吗?
private ObservableCollection<object> collection = new ObservableCollection<object>();
public void FillDataGrid(DataTable table, DataGrid grid)
{
    grid.Columns.Clear();
    for (int i = 0; i < table.Columns.Count; i++)
    {
        grid.Columns.Add(new DataGridTextColumn()
        {
            Header = table.Columns[i].ColumnName,
            Binding = new Binding { Path = new PropertyPath("[" + i.ToString() + "]") }
        });
    }

    var collection = new ObservableCollection<object>();
    foreach (DataRow row in table.Rows)
    {
        collection.Add(row.ItemArray);
    }

    grid.ItemsSource = collection;
}