![](/img/trans.png)
[英]'System.ArgumentOutOfRangeException' occurred in mscorlib.dll
[英]System.ArgumentOutOfRangeException occurred in mscorlib.dll C#
我有一個DataGridView,它是從對象列表中填充的。 但是,通過我的foreach
的第二個循環會導致ArgumentOutOfRangeException
。
這是我的代碼:
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中,但是第二次,我得到了異常(實際上它說類型為'System.ArgumentOutOfRangeException'的第一次機會異常發生在mscorlib.dll中 ),並且我的表格顯示出來,而沒有運行其余的foreach。
有什么幫助嗎? 我嘗試實例化dataGridView1.Rows[i] = new DataGridViewRow();
但它是只讀的。
您需要先創建行,然后再嘗試訪問它們。
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = title;
dataGridView1.Rows[n].Cells[1].Value = dateTimeNow;
然后,您將可以通過dataGridView1.Rows [ n ] .Cells [0] .Value = x;訪問它們。
干杯
在代碼上方添加以下內容
dataGridView1.ColumnCount = 4; dataGridView1.ColumnHeadersVisible = true;
您不能以這種方式添加它。 對於初學者來說,它是未知的或未定義的,但是您可以增加它。 您可以添加任意多的行,但添加的行不正確是我們要告訴您的。
這里的用法不正確:dataGridView1.Rows [i] .Cells [0] .Value = abonat.id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.