2012-11-09 60 views
2

我想將指定的數據添加到列中,但出現錯誤「索引超出範圍必須是非負數並小於集合的大小 參數名稱:索引「如何將指定的數據添加到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

是該線路上的錯誤被拋出:

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

+0

謝謝你的作品! :d – yovierayz

相關問題