Öğrenci sınav sonuç tablosunda tekrarlaya dataları tek satırda toplam olarak gösterme. Dictionary sınıfından bir örnek oluşturma ve datagridview tablosunu bu nesneden gelen datalar ile doldurma işlemi.
Dictionary < string, Ogrenciler > ogrencilerGruplanmis = new Dictionary < string, Ogrenciler > ();
private void btnGruplandir_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
// sicil 1 nolu kolonda, sicil gruplanmışta var mı kontrol et. Varsa bu satırdaki değerleri olan gruba ekle
if (ogrencilerGruplanmis.ContainsKey(dataGridView1[1, i].Value.ToString()))
{
Ogrenciler ogrenci = ogrencilerGruplanmis[dataGridView1[1, i].Value.ToString()];
ogrenci.DenemeSayisi += int.Parse(dataGridView1[4, i].Value.ToString());
ogrenci.YapilanDenemeSayisi += int.Parse(dataGridView1[5, i].Value.ToString());
ogrenci.Dogru += int.Parse(dataGridView1[6, i].Value.ToString());
ogrenci.Hatali += int.Parse(dataGridView1[7, i].Value.ToString());
ogrenci.Yanlis += int.Parse(dataGridView1[8, i].Value.ToString());
}
else
{
Ogrenciler ogrenci = new Ogrenciler();
ogrenci.SicilNo = int.Parse(dataGridView1[1, i].Value.ToString());
ogrenci.Ad = dataGridView1[2, i].Value.ToString();
ogrenci.Soyad = dataGridView1[3, i].Value.ToString();
ogrenci.DenemeSayisi = int.Parse(dataGridView1[4, i].Value.ToString());
ogrenci.YapilanDenemeSayisi = int.Parse(dataGridView1[5, i].Value.ToString());
ogrenci.Dogru = int.Parse(dataGridView1[6, i].Value.ToString());
ogrenci.Hatali = int.Parse(dataGridView1[7, i].Value.ToString());
ogrenci.Yanlis = int.Parse(dataGridView1[8, i].Value.ToString());
ogrencilerGruplanmis.Add(ogrenci.SicilNo.ToString(), ogrenci);
}
}
int satir = 0;
dataGridView2.Rows.Clear();
foreach (KeyValuePair item in ogrencilerGruplanmis)
{
dataGridView2.Rows.Add();
Ogrenciler ogrenci = item.Value;
dataGridView2[0, satir].Value = satir + 1;
dataGridView2[1, satir].Value = ogrenci.SicilNo;
dataGridView2[2, satir].Value = ogrenci.Ad;
dataGridView2[2, satir].Value = ogrenci.Soyad;
dataGridView2[2, satir].Value = ogrenci.DenemeSayisi;
dataGridView2[2, satir].Value = ogrenci.YapilanDenemeSayisi;
dataGridView2[2, satir].Value = ogrenci.Dogru;
dataGridView2[2, satir].Value = ogrenci.Hatali;
dataGridView2[2, satir].Value = ogrenci.Yanlis;
satir++;
}
}
Ogrenciler sınıfı :
public class Ogrenciler
{
public int SicilNo { get; set; }
public string Ad { get; set; }
public string Soyad { get; set; }
public int DenemeSayisi { get; set; }
public int YapilanDenemeSayisi { get; set; }
public int Dogru { get; set; }
public int Hatali { get; set; }
public int Yanlis { get; set; }
}
Dictionary < string, Ogrenciler > ogrencilerGruplanmis = new Dictionary < string, Ogrenciler > ();
private void btnGruplandir_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
// sicil 1 nolu kolonda, sicil gruplanmışta var mı kontrol et. Varsa bu satırdaki değerleri olan gruba ekle
if (ogrencilerGruplanmis.ContainsKey(dataGridView1[1, i].Value.ToString()))
{
Ogrenciler ogrenci = ogrencilerGruplanmis[dataGridView1[1, i].Value.ToString()];
ogrenci.DenemeSayisi += int.Parse(dataGridView1[4, i].Value.ToString());
ogrenci.YapilanDenemeSayisi += int.Parse(dataGridView1[5, i].Value.ToString());
ogrenci.Dogru += int.Parse(dataGridView1[6, i].Value.ToString());
ogrenci.Hatali += int.Parse(dataGridView1[7, i].Value.ToString());
ogrenci.Yanlis += int.Parse(dataGridView1[8, i].Value.ToString());
}
else
{
Ogrenciler ogrenci = new Ogrenciler();
ogrenci.SicilNo = int.Parse(dataGridView1[1, i].Value.ToString());
ogrenci.Ad = dataGridView1[2, i].Value.ToString();
ogrenci.Soyad = dataGridView1[3, i].Value.ToString();
ogrenci.DenemeSayisi = int.Parse(dataGridView1[4, i].Value.ToString());
ogrenci.YapilanDenemeSayisi = int.Parse(dataGridView1[5, i].Value.ToString());
ogrenci.Dogru = int.Parse(dataGridView1[6, i].Value.ToString());
ogrenci.Hatali = int.Parse(dataGridView1[7, i].Value.ToString());
ogrenci.Yanlis = int.Parse(dataGridView1[8, i].Value.ToString());
ogrencilerGruplanmis.Add(ogrenci.SicilNo.ToString(), ogrenci);
}
}
int satir = 0;
dataGridView2.Rows.Clear();
foreach (KeyValuePair item in ogrencilerGruplanmis)
{
dataGridView2.Rows.Add();
Ogrenciler ogrenci = item.Value;
dataGridView2[0, satir].Value = satir + 1;
dataGridView2[1, satir].Value = ogrenci.SicilNo;
dataGridView2[2, satir].Value = ogrenci.Ad;
dataGridView2[2, satir].Value = ogrenci.Soyad;
dataGridView2[2, satir].Value = ogrenci.DenemeSayisi;
dataGridView2[2, satir].Value = ogrenci.YapilanDenemeSayisi;
dataGridView2[2, satir].Value = ogrenci.Dogru;
dataGridView2[2, satir].Value = ogrenci.Hatali;
dataGridView2[2, satir].Value = ogrenci.Yanlis;
satir++;
}
}
public class Ogrenciler
{
public int SicilNo { get; set; }
public string Ad { get; set; }
public string Soyad { get; set; }
public int DenemeSayisi { get; set; }
public int YapilanDenemeSayisi { get; set; }
public int Dogru { get; set; }
public int Hatali { get; set; }
public int Yanlis { get; set; }
}
Hiç yorum yok :
Yorum Gönder