C# DataGridView Sütunundaki Sayıları Toplama – Web Tasarım & Programlama
C# Programlama Windows Form Örnekleri

C# DataGridView Sütunundaki Sayıları Toplama

Bir önceki örneğimizde C# DataGridView kontrolüne TextBox’ lara girilen verileri ekleme ve Seçilen DataGridView satırının nasıl silinebileceğini göstermiştik. Şimdiki örneğimizde ise bu örneğe küçük bir ekleme yapacağız. DataGridView üzerinde bulunan sütundaki verilerin toplamını hesaplayacağız. Yani TUTAR sütununda bulunan sayıların toplamını bulacağız.

Önceki örneğe ulaşmak için tıklayın.

Toplam tutarı hesaplama işlemini EKLE butonunu kullanarak yapacağız. Her bir kayıt eklendiğinde sütundaki toplam değeri hesaplayacağız.

Bir önceki örnekte yapmış olduğumuz DataGridView sütunlarını oluşturma, TextBox’ a girilen verileri DataGridView’ e eklem, Seçili Satırları Silme işlemini ve sütun toplamını bulmayı gerçekleştiren kodlarımızın tamamı ve indirme linki aşağıdadır.

Örneği İNDİR

Yorum

  • merhaba
    toplama işlemi tamam projede iki kolon arası çıkarma işlemi nasıl yapılır mesela satış fiyatı kolonundan alış fiyatı kolonunu çıkarmak istiyoruz bu işlem nasıl yapılır acaba

    • yine aynı mantıkta yapabilirsiniz. mesela gelir kolonu ve gider kolonu 2. ve 3. sütun olduğunu varsayarsak;

      for (int i = 0; i < dataGridView1.Rows.Count; ++i)
      {
      int gelir = Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value);
      int gider = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
      int fark = gelir – gider;
      dataGridView1.Rows[i].Cells[3].Value = fark;
      }

      • merhaba bu kodu uyguladım ancak kalan olarak 0 gösteriyor yani gelir sütunu toplamı alıp gider sütunu toplamını da alıp çıkarması lazım kalanı görmek için ama değer olarak 0 gösteriyor

        • Gelir sutunu kaçıncı, gider sutunu kaçıncı sütun sizde. Siralamayi 0 1 2 .. seklinde yaptiginiza emin olun.

          • 9 ve 10. Sütun sıralamayı ona göre yaptım label a sonucu yazdırdım ama sonuç sıfır çıkıyor

          • int Topla = 0;
            for (int i = 0; i < dataGridView1.Rows.Count; ++i)
            {
            int gelir = Convert.ToInt32(dataGridView1.Rows[i].Cells[9].Value);
            int gider = Convert.ToInt32(dataGridView1.Rows[i].Cells[10].Value);
            int fark = gelir – gider;
            dataGridView1.Rows[i].Cells[0].Value = fark;
            Topla += Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);
            lbdepokalan.Text = Convert.ToString(Topla);//çalıştır
            }

            ancak bu kodlarla depo kalanı çıkarabildim
            dataGridView1.Rows[i].Cells[0].Value = fark;
            Topla += Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);

            bu kodları ekleyince toplamı verdi

          • merhaba siz farkı 4. sütuna yazdırıyorsunuz bende labela yazdırmaya çalışıyorum mesela vermiş olduğunuz örnekteki datagridviewin altına bir label ekleyip ona farkı yazdırabilirmiyiz.

          • Önceki yorumda indirme linkini verdiğim projede datagrid üstünde gelir sütunundaki tüm değerleri toplayan, gider sütunundaki tüm değerleri toplayan ve bu ikisinin farkını alarak label4 te yazdıran kod. (Fark Hesapla Butonu için)

            int gelirToplam = 0, giderToplam = 0;
            for (int i = 0; i < dataGridView1.Rows.Count; ++i) { gelirToplam += Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value); giderToplam += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value); } label4.Text = (gelirToplam - giderToplam).ToString();

          • Ahmet hocam bu defa istediğim gibi oldu emeğinize sağlık ancak programlama işine yeni merak sardım ve şu anda benden istenen bir proje çalıştığım yerden bazı takıldığım veya yapamadığım yerler var bu konuda sizden destek almak isterim bilgilerinize ihtiyacım var ücret karşılığı da olabilir sizinle iletişime geçmek isterim.

  • Merhaba..
    Paylaşımınız İçin Teşekkür Ederim Yararlı Oldu Bana 🙂

    Ama Bir Sorum Olacaktı..

    Toplama İşleminde Tam Sayı Kabul Ediyor Fakat Bunu ” ondalıklı ” Sayı İçin Yapacak Olsaydık Onu Nasıl Yapabilirdik ?

  • Merhaba,

    Datagrid e çektiğim verileri aşağıdaki şekilde button click olayıyla filtreliyorum, filtreledikten sonra toplamın güncellenmesini nasıl sağlarım? Teşekkürler..

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
    string s = row.Cells[3].Value.ToString();
    if (!s.StartsWith(“Column”, true, null))
    {
    CurrencyManager STYLE = (CurrencyManager)BindingContext[dataGridView1.DataSource];
    STYLE.SuspendBinding();
    row.Visible = false;
    STYLE.ResumeBinding();

    }
    else
    row.Visible = true;
    }

Yorum Yap