DataTable作为DataGrid.ItemsSource

时间:2013-02-18 17:36:49

标签: c# wpf binding datagrid datatable

嗨我想在代码隐藏中将多个列的DataTable绑定到DataGrid

    var dt = new DataTable();

    dt.Columns.Add(new DataColumn("1"));
    dt.Columns.Add(new DataColumn("2"));
    dt.Columns.Add(new DataColumn("3"));

    dt.Rows.Add(ff.Mo);
    dt.Rows.Add(ff.Di);
    dt.Rows.Add(ff.Mi);
    dt.Rows.Add(ff.Do);
    dt.Rows.Add(ff.Fr);
    dt.Rows.Add(ff.Sa);
    dt.Rows.Add(ff.So);
// ff is a object that contains List<myCellObj>

DataGrid DGrid = new DataGrid();
for (int i = 0; i < 3; i++)
{
   DataGridTemplateColumn templateColumn = new DataGridTemplateColumn();
   templateColumn.HeaderTemplate = HeaderDt;
   templateColumn.CellTemplate = ItemDt; //specified DataTemplate for myCellObj

   DGrid.Columns.Add(templateColumn);
}

现在如何将我的dt设置为ItemsSourceDatacontext或将其设置为View 如果你能为我提供一种直接绑定到我的Object ff

的方法

任何有用的东西都非常感谢

1 个答案:

答案 0 :(得分:23)

假设你在WPF中,只需说:

DGrid.ItemsSource = dt.AsDataView();

无需在DataGrid上手动设置列,指定DataTable会为您设置这些列。