将两个列表绑定到一个数据网格

时间:2014-01-10 13:49:22

标签: c# wpf datagrid

我目前正在尝试将两个列表绑定到wpf

中的数据网格
   int rows = Convert.ToInt32(rowsTB.Text);
        double offset = Convert.ToDouble(offsetTB.Text);
        double startValue = Convert.ToDouble(startValueTB.Text);
        List<double> valuesList = new List<double>();
        for (int i = 0; i < rows; i++)
        {
            valuesList.Add(startValue += offset);
        }

        List<double> maxList = new List<double>();
        foreach (var x in valuesList)
        {
            maxList.Add(MaxValue(x));
        }
        valuesGrid.ItemsSource = valuesList;
        maxGrid.ItemsSource = maxList;

这是我目前所拥有的代码片段,我创建了两个datagrids,每个数据网格都有一列,每个数据网格绑定到一个列表,但这不是我真正想要的,我希望有1个数据网格,有2列每个都绑定到一个列表。

如果有可能用一个有2个列表的ojbect来做,你可以给我一个例子吗? 谢谢

1 个答案:

答案 0 :(得分:2)

您可以构建DataTable或创建自定义对象并将其添加到单个List。我更喜欢自定义对象,因为它更像OOP。因此,要构建自定义对象,请创建此类...

public class DataItem
{
    public double Values {get; set;}
    public double MaxValue {get; set;}
}

然后执行您正在进行的所有处理,而是将DataItem类添加到列表中...

for (int i = 0; i < rows;i++)
{
    DataItem item = new DataItem();
    item.Value = startValue += offset;
    item.MaxValue = MaxValue(item.Value);

    valuesList.Add(item);
}

最后,将列表绑定到DataGrid ...

valuesGrid.ItemsSource = valuesList;