我想将我的指定数据添加到列但是我收到错误“索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引“
private void Button1Click(object sender, EventArgs e)
{
var result = _transactionService.GetTransactionReport(DateTime.Now.AddDays(-2), DateTime.Now);
foreach (var transaction in result)
{
for (int r = 0; r < result.Count; r++)
{
dataGridView1.Rows[r].Cells[0].Value = transaction.Number;
dataGridView1.Rows[r].Cells[1].Value = transaction.DateTime;
dataGridView1.Rows[r].Cells[1].Value = transaction.Customer.Name;
}
}
}
如何将数据添加到行和列?
答案 0 :(得分:1)
错误是否在这一行:
dataGridView1.Rows[r].Cells[0].Value = transaction.Number;
我相信您收到该错误是因为您在DataGridView中引用了一条不存在的行。有许多方法可以向DataGridView添加行。您可以使用DataGridViewRowCollection.Add
method添加新行,并使用其中一个事务对象的值填充它:
private void Button1Click(object sender, EventArgs e) {
var result = _transactionService.GetTransactionReport(DateTime.Now.AddDays(-2), DateTime.Now);
foreach (var transaction in result) {
for (int r = 0; r < result.Count; r++) {
dataGridView1.Rows.Add(new object[] { transaction.Number, transaction.DateTime, transaction.Customer.Name });
}
}
}
请注意,此代码假定您的DataGridView至少已有三列。