如何解决无法通过 UWP 中的 System.Data.DataTable 对象分配 CollectionViewSource.Source
美好的一天。
我试图在 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;
}
这是什么错误。
解决方法
恐怕您无法在 UWP 平台中将 viewSource.Source 设置为 DataTable。如果要将DataTable填充到datagrid中,更多请参考这个案例reply。
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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。