我有下面的类填充一个列表,如下所示,当一个名为MenuGrid的DataGridView上单击绑定到每一列的按钮时,该列表如下所示:
public class orderedfood
{
public string price;
public string item;
}
List<orderedfood> order = new List<orderedfood>();
private void MenuGrid_CellClick(object sender, DataGridViewCellEventArgs e)
{
order.Add(new orderedfood { item = MenuGrid.Rows[e.RowIndex].Cells[1].Value.ToString(), price = subtotal.ToString() });
}
我想要做的是重新加载绑定到订单列表的DataGridView,因此我尝试了以下代码:
MenuGrid.DataSource = null;
MenuGrid.Rows.Clear();
for (int i = 0; i < order.Count; i++)
{
MenuGrid.Rows.Add(order[i].item, order[i].price);
}
MenuGrid.Refresh();
这给出了以下输出,这不是我想要的:
最终屏幕截图在行数上是正确的,但不包括项目的名称和价格。
有什么建议吗?
答案 0 :(得分:0)
不要将DataSource设置为null。你也可以在for循环中尝试这个,
DataGridViewRow row = new DataGridViewRow();
dataGridView1.Rows.Add(row);
dataGridView1.Rows.Insert(0, order[i].item, order[i].price);