如何设置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;
}
这只会添加标题和空行。
你可以走两个方向,但你需要选择一个。
一:
创建DataTable(而不是列)。使用标题来命名DataTable中的列。将DataTable与自动生成列绑定。
二:
不要创建DataTable。绑定到列表(使用列表作为属性名称是一种不好的做法,而且令人困惑)。然后将列内容绑定到类似List[0]、List[1]的内容。我不确定语法是什么,因为我已经做了List,其中MyClass有一个公共List MyRows,然后内容绑定的语法是MyRows[0],MyRows[1]。。。。