arkadaşlar merhaba bir c# projesi üzerinde çalışıyorum bir datagridden öbürüne belirli koşula göre kayıt atıyorum ama nedense koşul ekleyince hata veriyor. Koşul eklemezsem gayet güzel atıyor. Anlayamadım sorunu :
Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır. Parametre adı: index
kod : for (int z = 0; z < dataGridView1.Rows.Count; z++) {
kendi sorumu kendim çözdüm aynı duruma düşen arkadaşlar için durum şöyle datagrid1 de 12.sütun 0 dan büyük olanları öbür datagrid3 e atmaya çalışıyordum . Buradaki sorun dataGridView3.Rows[z].Cells[2].Value = dataGridView1.Rows[z].Cells[5].Value.ToString(); bu kod da z değeri 2 datagrid içinde aynı olduğundan problem çıkıyor çünkü datagrid 3 boş ve diğer dattagridde kaçıncı satırda koşula uygun satır bulursa onun rowindex ini aldığından örneğin bizim koşulumuzu 15. satır sağladıysa bu sefer datagrid 3 ün 15. satırına yazdırmaya çalışıyor ama hiç satır olmayan bir datagridin 15. satırına yazamadığında böyle bir sorun teşkil etmiş. sorunun çözüm ü için ufak bir if yapısı ekledim oldu .
if (dataGridView3.Rows.Count == 0) { x = 0; } else {
Dizin aralık dışındaydı. Negatif bir değer olmamalı ve koleksiyonun boyutundan daha küçük olmalıdır.
Parametre adı: index
kod : for (int z = 0; z < dataGridView1.Rows.Count; z++)
{
double sipver2 = Convert.ToDouble(dataGridView1.Rows[z].Cells[12].Value);
if (sipver2 < 0) { continue; }
else
{
dataGridView3.Rows.Add();
dataGridView3.Rows[z].Cells[0].Value = dataGridView1.Rows[z].Cells[1].Value.ToString();
dataGridView3.Rows[z].Cells[1].Value = dataGridView1.Rows[z].Cells[3].Value.ToString();
dataGridView3.Rows[z].Cells[2].Value = dataGridView1.Rows[z].Cells[5].Value.ToString();
dataGridView3.Rows[z].Cells[3].Value = dataGridView1.Rows[z].Cells[6].Value.ToString();
double gel = Convert.ToDouble(dataGridView1.Rows[z].Cells[7].Value);
dataGridView3.Rows[z].Cells[4].Value =gel;
double env = Convert.ToDouble(dataGridView1.Rows[z].Cells[8].Value);
dataGridView3.Rows[z].Cells[5].Value = env;
double cik1 = Convert.ToDouble(dataGridView1.Rows[z].Cells[9].Value);
dataGridView3.Rows[z].Cells[6].Value = cik1;
double cik2 = Convert.ToDouble(dataGridView1.Rows[z].Cells[10].Value);
dataGridView3.Rows[z].Cells[7].Value = cik2;
double orthiz = Convert.ToDouble(dataGridView1.Rows[z].Cells[11].Value);
dataGridView3.Rows[z].Cells[8].Value = orthiz;
double sipver1 = Convert.ToDouble(dataGridView1.Rows[z].Cells[12].Value);
dataGridView3.Rows[z].Cells[9].Value = sipver1;
double kalsip1 = Convert.ToDouble(dataGridView1.Rows[z].Cells[13].Value);
dataGridView3.Rows[z].Cells[10].Value = kalsip1;
}
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.