我应该如何投放DataTable以分配给DataGrid.ItemsSource? [英] How should I cast a DataTable for assignment to DataGrid.ItemsSource?

查看:619
本文介绍了我应该如何投放DataTable以分配给DataGrid.ItemsSource?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试学习WPF,并尝试使用MySQL数据库中的数据填充WPF DataGrid。相关代码是:

I am trying to learn WPF, and trying to populate a WPF DataGrid with data from a MySQL database. The relevant code is:

        dataGrid.DataContext = myMySQL.DBDataSet;
        dataGrid.ItemsSource = myMySQL.DBDataSet.Tables[tblName];

dataGrid是一个WPF DataGrid控件。 myMySQL.DBDataSet是一个System.Data.DataSet。我在上面的第二行代码中收到以下错误。

dataGrid is a WPF DataGrid control. myMySQL.DBDataSet is a System.Data.DataSet. I get the following error on the second line of code above.


无法将类型System.Data.DataTable隐式转换为
'System.Collections.IEnumerable'。存在显式转换(
你缺少一个演员)

"Cannot implicitly convert type 'System.Data.DataTable' to 'System.Collections.IEnumerable'. An explicit conversion exists (are you missing a cast?)"

是的,我可能需要一个演员。我很高兴听到有一个明确的转换存在。但是如何确定我需要什么? '(System.Collections.IEnumerable)'显然不起作用。 ItemsSource的类型似乎是System.Windows.Controls.ItemsControl。但是cast(System.Windows.Controls.ItemsControl)也不起作用。我不知道在哪里寻找一个解释如何投射这个DataTable来纠正这个错误。你可以帮我吗?

Yes, I probably need a cast. I am glad to hear that an explicit conversion exists. But how do I determine what cast I need? '(System.Collections.IEnumerable)' obviously doesn't work. The type of 'ItemsSource' seems to be 'System.Windows.Controls.ItemsControl'. But cast (System.Windows.Controls.ItemsControl) doesn't work either. I have no idea where else to look for an explanation of how to cast this DataTable to correct this error. Can you help me?

推荐答案

尝试将DataTable的DefaultView分配给ItemsSource。

Try assign DefaultView of DataTable to ItemsSource.

dataGrid.ItemsSource = myMySQL.DBDataSet.Tables[tblName].DefaultView;

这篇关于我应该如何投放DataTable以分配给DataGrid.ItemsSource?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆