2017-03-04 64 views
0

我寫了一個代碼,它讀取url,解析json並將數據存儲在列表中。將列表插入列表對象以在dataGrid中查看

現在我做了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 

現在,我已經使用混合的Visual Studio 2015年 我想這4名名單是在數據網格列的數據網格。

我如何將它們插入一個datagrid,它將顯示每個24個單元的3列?

謝謝。

+0

如果我理解正確,您需要將這3個列表映射到單個對象「MyDataObject」中,對嗎? –

回答

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])

+0

我更新了問題隊友,可能沒有解釋我的自我正確。這些行更像是在while循環中計算的項目,而不是來自csv文件的值。 – Ben

+0

如何在計算後設置MyDataObject行屬性?你可以使用像'MyDataObject row = new MyDataObject(){id = CALCULATED_VAL,name = .....}' –