将列表插入List Object以在dataGrid中查看

时间:2017-03-04 12:01:15

标签: c# arrays json list datagrid

我编写了一个代码来读取url,解析json并将数据存储在列表中。

现在我制作了4个新名单:

List<int> list_AmountNeed = new List<int>();
List<int> list_TotalCost = new List<int>();
List<int> list_TotalLose = new List<int>();
List<int> list_TotalGain = new List<int>();

并使用while循环:

while (z < list_Exp.Count)

{

list_AmountNeed.Add((goalexp - currentexp) / Convert.ToInt32(list_Exp[z]));
list_TotalLose.Add(list_AmountNeed[z] * (list_Amount_MadeFrom_One[z] * list_BuyPrice_MadeFrom_One[z] + list_Amount_MadeFrom_Two[z] * list_BuyPrice_MadeFrom_Two[z]));
list_TotalGain.Add(list_AmountNeed[z] * list_AmountMade[z] * list_SellPrice[z]);
list_TotalCost.Add(list_TotalGain[z] - list_TotalLose[z]);

z++;

}

最终,我得到了这4个列表,其中每个列表都由24个“单元格”组成。例如:

list_TotalCost[0]=1,list_TotalCost[1]=2,list_TotalCost[3]=3...list_TotalCost[24]=5

现在,我已经使用blend for visual studio 2015创建了一个datagrid。 我希望这4个列表成为数据网格中的列。

如何将它们插入到一个数据网格中,该数据网格将显示3列,每列包含24个单元格?

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您不需要将csv行分成3个列表。您已经可以将每一行指定为对象MyDataObject

List<MyDataObject> myRows = new List<MyDataObject>();
while (!reader1.EndOfStream)
{
    var line = reader1.ReadLine();
    var values = line.Split(',');

    MyDataObject row = new MyDataObject() { 
        id = Convert.ToDouble(values[0]),
        name = values[1],
        amount = Convert.ToInt32(values[2])
    };

    myRows.Add(row);
}

但有一件事:确保您的对象属性数据类型应与您的值匹配,

MyDataObject.id应该是id = Convert.ToDouble(values[0])之后的两倍,等等。