我应该如何转换 DataTable 以分配给 DataGrid.ItemsSource?

2022-01-21 00:00:00 dataset mysql data-binding wpf wpfdatagrid

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 is a WPF DataGrid control. myMySQL.DBDataSet is a System.Data.DataSet. I get the following error on the second line of code above.

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

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?

解决方案

Try assign DefaultView of DataTable to ItemsSource.

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

相关文章