我有一個DataGridView,我從一個對象列表中填充。但是,我的第二個循環通過我的foreach
產生ArgumentOutOfRangeException
。System.ArgumentOutOfRangeException發生在mscorlib.dll C#
這裏是我的代碼:
foreach (Abonat abonat in list.getAbonati())
{
dataGridView1.Rows[i].Cells[0].Value = abonat.id; //exception occurs here on second loop
dataGridView1.Rows[i].Cells[1].Value = abonat.prenume;
dataGridView1.Rows[i].Cells[2].Value = abonat.nume;
dataGridView1.Rows[i].Cells[3].Value = abonat.adresa;
i++;
}
第一次foreach
運行時,一切都很好,甚至顯示了在DataGridView,但第二次,我得到的異常(實際上它說一個在mscorlib.dll中發生類型'System.ArgumentOutOfRangeException'的第一次機會異常),並顯示我的表單,而不運行其餘的foreach。
對此有何幫助?我嘗試過對dataGridView1.Rows[i] = new DataGridViewRow();
進行實例化,但它是隻讀的。
在例外中應該有一條消息 - 沒有這個,這不是非常有用。 「我」的價值是什麼? – 2012-01-17 20:12:43
你沒有向我們展示你定義/增加i的位置。 – 2012-01-17 20:12:52
'i'在開始時爲0,在發生「可能」異常時爲1。 – 2012-01-17 20:13:34