如何设置List<;列表<;双>>;(或二维数组)作为DataGrid的数据源

本文关键字:gt lt 二维数组 DataGrid 数据源 作为 列表 设置 List 何设置 | 更新日期: 2023-09-27 18:27:15

我有带值的List<List<double>>和wpf数据网格
如何将其设置为我的dataGrid的dataSource?

我尝试过以下内容:

public class DataContainer
{
    public List<List<double>> List { get; set; }
    public List<string> Headers { get; set; }
}
private void InitializeGrid(DataContainer container)
{
    var table = new DataTable();
    foreach (var header in container.Headers)
    {
       dataGrid1.Columns.Add(new DataGridTextColumn(){Header = header});
       table.Columns.Add(header);
    }
    foreach (var lst in container.List)
    {
       var dr = table.NewRow();
       var array = (from o in lst
                    select (object)o).ToArray();
       dr.ItemArray = array;
       table.Rows.Add(dr);
    }
    foreach (var row in table.Rows)
    {
        dataGrid1.Items.Add(row);
    }
   // dataGrid1.ItemsSource = table.Rows;
}

这只会添加标题和空行。

如何设置List<;列表<;双>>;(或二维数组)作为DataGrid的数据源

你可以走两个方向,但你需要选择一个。

一:

创建DataTable(而不是列)。使用标题来命名DataTable中的列。将DataTable与自动生成列绑定。

二:

不要创建DataTable。绑定到列表(使用列表作为属性名称是一种不好的做法,而且令人困惑)。然后将列内容绑定到类似List[0]、List[1]的内容。我不确定语法是什么,因为我已经做了List,其中MyClass有一个公共List MyRows,然后内容绑定的语法是MyRows[0],MyRows[1]。。。。