【问题标题】:Inserting lists into List Object to view in dataGrid将列表插入列表对象以在 dataGrid 中查看
【发布时间】:2017-07-24 13:27:25
【问题描述】:

我编写了一个读取 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 制作了一个数据网格。 我希望这 4 个列表成为数据网格中的列。

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

谢谢。

【问题讨论】:

  • 如果我理解正确,您需要将这 3 个列表映射到单个对象 MyDataObject,对吗?

标签: c# arrays json list datagrid


【解决方案1】:

我认为您不需要将 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]) 等等。

【讨论】:

  • 我更新了问题伙伴,可能没有解释我的自我正确。这些行更像是在 while 循环中计算的项目,而不是 csv 文件中的值。
  • 计算后设置MyDataObject row属性怎么样?你可以使用类似MyDataObject row = new MyDataObject() { id = CALCULATED_VAL, name = ..... }
猜你喜欢
  • 1970-01-01
  • 2016-01-26
  • 2015-01-16
  • 2021-09-14
  • 1970-01-01
  • 2013-07-02
  • 2022-01-28
  • 2015-07-13
  • 2023-03-08
相关资源
最近更新 更多