期待どおりに動作する Winforms アプリケーションに次のコードがあります。
private void btnFetchCollections_Click(object sender, EventArgs e)
{
try
{
var scDal = new SiteCollectionDal();
var dt = new DataTable();
List<SiteCollectionEntity> siteCollections = scDal.FetchSiteCollections();
dt.Columns.Add(new DataColumn("Site Name", typeof(string)));
foreach (SiteCollectionEntity siteCollectionEntity in siteCollections)
{
DataRow row = dt.NewRow();
row["Site Name"] = siteCollectionEntity.Url;
dt.Rows.Add(row);
dt.AcceptChanges();
}
dataSiteCollections.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
現在、このプロジェクト用に新しい WPF インターフェイスを作成していますが、次の方法が機能しません。これにどのようにアプローチすればよいですか?
private void btnFetchSiteCollections_Click(object sender, RoutedEventArgs e)
{
try
{
var scDal = new SiteCollectionDal();
var dt = new DataTable();
List<SiteCollectionEntity> siteCollections = scDal.FetchSiteCollections();
dt.Columns.Add(new DataColumn("Site Name", typeof(string)));
foreach (SiteCollectionEntity siteCollectionEntity in siteCollections)
{
DataRow row = dt.NewRow();
row["Site Name"] = siteCollectionEntity.Url;
dt.Rows.Add(row);
dt.AcceptChanges();
}
dataSiteCollections.ItemsSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
私が受け取っているエラーは次の行にあります。
dataSiteCollections.ItemsSource = dt;
それは次のとおりです。
ソース タイプ 'System.Data.DataTable' をターゲット タイプ 'System.Collections.IEnumerable' に変換できません