如何将指定数据添加到datagridview中的列

时间:2012-11-09 03:19:57

标签: datagridview

我想将我的指定数据添加到列但是我收到错误“索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引“

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;
            }
        }
    }

如何将数据添加到行和列?

1 个答案:

答案 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至少已有三列。