JSON数据列表到组合框

本文关键字:组合 列表 数据 JSON | 更新日期: 2023-09-27 18:27:32

我知道这个问题已经被问了好几次了,我知道这会很简单,但我对C#真的很陌生,我很紧张,因为我整晚都在编码(不太好)。我有一个类ProcessOrdersActive,我将其反序列化为details。当我试图将ProcessOrderNbr[I]添加到组合框时,它就失败了。

//Deserialise data 
ProcessOrdersActive details = JsonConvert.DeserializeObject<ProcessOrdersActive>(responseBody);
var ordersList = new List<ProcessOrdersActive>();
ordersList.Add(details);
int numofitems = ordersList.Capacity;
txtActiveOrders.Text = numofitems.ToString();
for (int i = 0; i < numofitems; i++)
{
     comboBoxOrders.Items.Add (details.ProcessOrderNbr[i]);
}    

JSON数据列表到组合框

非常感谢您的回复。今天我和一位精通C#的程序员聊得很愉快,下面是他提出的解决方案。名字与最初的帖子略有不同。

//Deserialise data & send to DataGrid
ProcessOrderDetails details = JsonConvert.DeserializeObject<ProcessOrderDetails>(responseBody);
//Get number of operations and display to screen
int numofitems = details.MaterialList.Count<Materiallist>();
txtNumOfMaterials.Text = numofitems.ToString();
//Find the last operation
var lastone = details.MaterialList.Last<Materiallist>();
//Create a new material/operation list
var materialList = new List<Materiallist>();
//Add the last operation to the list
materialList.Add(lastone);
//Parse the list to the data grid
dataGridProcessOrderDetails.DataSource = materialList;

您试图访问的索引可能超出了数组/列表的范围。

项目数应该是您正在访问的数组/列表的长度/计数。

//Deserialise data 
ProcessOrdersActive details = JsonConvert.DeserializeObject<ProcessOrdersActive>(responseBody);
var ordersList = new List<ProcessOrdersActive>(); 
ordersList.Add(details); 
int numofitems = details.ProcessOrderNbr.Count;//If this is a list use Count. If it is an array use Length 
txtActiveOrders.Text = numofitems.ToString();
for (int i = 0; i < numofitems; i++) {
     comboBoxOrders.Items.Add (details.ProcessOrderNbr[i]); 
}