【问题标题】:DataTable as DataGrid.ItemsSourceDataTable 作为 DataGrid.ItemsSource
【发布时间】:2013-02-03 05:25:43
【问题描述】:

嗨,我想在代码隐藏中将具有多列的 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 的方法

非常感谢任何可以提供帮助的东西

【问题讨论】:

标签: c# wpf binding datagrid datatable


【解决方案1】:

假设您在 WPF 中,只需说:

DGrid.ItemsSource = dt.AsDataView();

无需在 DataGrid 上手动设置列,分配 DataTable 将为您设置这些。

【讨论】:

  • 它给了我一个错误:双向绑定需要 Path 或 XPath。
  • 如果不逐列添加,则 DataGrid 的格式不适用,仅显示数据。请帮助动态格式化列,例如更改颜色。
  • 我会建议再问一个新问题。本题与格式化datagrid无关,只设置数据源。
猜你喜欢
  • 2016-05-14
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多