C# C# Windows Form Örnekleri Programlama

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

 

24 Yorum

  • C# SQL Veritabanında DateTimePicker ile İki Tarih Arasındaki Verileri Listeleme
    filitre edilen sonuç print veya pdf olarak alınabilirmi

  • Merhabalar..
    Benim sorum şöyle olacaktı yardımcı olursanız sevinirim. gelir tür gelir tutar ve açıklama diye veri tabanım var. bunları datagridde toplayarak ayrı bir label’de gösteriyorum. işlemi anlık olarak yaptıkça toplamları hemen gösteriyor. benim istediğim ise bu toplamları sürekli göstersin. formdan çıktığında toplamları göstermiyor. kodlarım aşağıda;

    private void btnGelirKaydet_Click(object sender, EventArgs e)
    {
    SqlCommand gelirkaydet = new SqlCommand
    (“insert into tbl_gelirturu (GelirTur,GelirTutar,Aciklama) values(@p1,@p2,@p3)”, bgl.baglanti());
    gelirkaydet.Parameters.AddWithValue(“@p1”, txtGelirTuru.Text);
    gelirkaydet.Parameters.AddWithValue(“@p2”, txtGelirTutar.Text);
    gelirkaydet.Parameters.AddWithValue(“@p3”, txtGelirAciklama.Text);
    gelirkaydet.ExecuteNonQuery();
    bgl.baglanti().Close();
    gelirlistele();

    double gelirtoplam = 0;
    for (int i = 0; i < dgGelir.Rows.Count; i++)
    {
    gelirtoplam += Convert.ToDouble(dgGelir.Rows[i].Cells[2].Value);

    }
    lblTutar.Text = "" + gelirtoplam;

    }

  • Merhaba,
    Ben toplam gider ile birlikte, su, elektrik vs giderlerinin ayrı ayrı labelde nasıl gösterebilirim. Yani Toplam Gider etiketiinin altında Su, Elektrik, Doğalgaz, Gıda etiketleri olsun ve karşılarında toplamları yer alsın.
    Çok teşekkürler

  • BEN YURT OTOMASYONU KURDUM FAKAT HEM ÖĞRENCİLERİN İSİMLERİNİN LİSTELENDİĞİ BİR SUTUN HEMDE KARŞILARINDA NOTLARI ELDEN GİRİLCEK ŞEKİLDE GÖSTERECEK BİR TABLO HAZIRLAMAK İSTİYORUM VE NOTU HESAPLAYIP ORTALAMASINI O SUTUNDAKI “NOTU:” BÖLMÜNE GÖSTERMEK İSTİYORUM.TEŞEKKÜRLER HOCAM.

  • Merhaba daha önce paylaşıldı mı diye çok baktım fakat göremedim veritabanı bağlantısı olmadan datagridview boşsa textboxtan kayıt ekle ,

    datagridviewa satır girişi yapıldı ise tc kimlik numarası daha önce girilmişmi dye sorgulayarak mükerrer giriş yapılmak istendiğinde uyarı vermesini istiyorum fakat başaramadım destek olabilir misiniz ?

  • 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.

    • BEN YURT OTOMASYONU KURDUM FAKAT HEM ÖĞRENCİLERİN İSİMLERİNİN LİSTELENDİĞİ BİR SUTUN HEMDE KARŞILARINDA NOTLARI ELDEN GİRİLCEK ŞEKİLDE GÖSTERECEK BİR TABLO HAZIRLAMAK İSTİYORUM VE NOTU HESAPLAYIP ORTALAMASINI O SUTUNDAKI “NOTU:” BÖLMÜNE GÖSTERMEK İSTİYORUM.TEŞEKKÜRLER HOCAM.

  • 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;
    }

Kemal için bir yanıt yazın X

Web Tasarım & Programlama sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et