ANA SAYFA
  • Register
поздравления с новорожденным

C# dili DevExpress GridControl da hesaplama işlemleri

Merhaba C# e Devexpress ile geliştirmekte olduğum projede Grid Controller de yapılacak olan hesaplamalar ; 3 kod bloğu ile hesaplama örneği yapacağız. Örneğimizde bir faturada kullanılan grid kontrolü öncelikli olarak cellvaluechanges eventına yaacağımız kod;

 

  private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            decimal birimfiyat=0, miktar = 0, isk1 = 0, isk2 = 0, isk3 = 0, isk4 = 0, isk5 = 0,NetToplam=0;
            int kdvorani = 0;
 
            if (e.Column.Name != "BRUT_FIYAT")
            {
                try
                {
                    miktar = decimal.Parse(gridView1.GetFocusedRowCellValue("MIKTAR").ToString());
                    birimfiyat = decimal.Parse(gridView1.GetFocusedRowCellValue("BIRIM_FIYAT").ToString());
                       kdvorani = int.Parse(gridView1.GetFocusedRowCellValue("KDV").ToString()); 
                       isk1 = decimal.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "ISK1").ToString());
                       isk2 = decimal.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "ISK2").ToString());
                       isk3 = decimal.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "ISK3").ToString());
                       isk4 = decimal.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "ISK4").ToString());
                       isk5 = decimal.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "ISK5").ToString());
                    NetToplam += birimfiyat * miktar;
                    NetToplam = NetToplam - (NetToplam / 100 * isk1);
                    NetToplam = NetToplam - (NetToplam / 100 * isk2);
                    NetToplam = NetToplam - (NetToplam / 100 * isk3);
                    NetToplam = NetToplam - (NetToplam / 100 * isk4);
                    NetToplam = NetToplam - (NetToplam / 100 * isk5);
                    gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "BRUT_FIYAT", NetToplam);
                    Hesapla();
                }
                catch (Exception Ex)
                {
                    MessageBox.Show(Ex.Message);
                }              
            }
        }
----- İkinci Kod bloğumuzu Void ile yaparak istediğimiz kısımda çalıştıracağız  Bu kod bloğu ile grid içindeki satırlara toplam bazında işlem yapacağz---------------
    void Hesapla()
 
        {
            decimal ToplamTutar = 0, GenelToplam = 0, AraToplam = 0, birimfiyat = 0, miktar = 0, kdvorani = 0, kdvtutari = 0, NetToplam=0,indirim=0;
 
            try
            {
                for (int i = 0; i < gridView1.RowCount; i++)
                {
                    miktar = decimal.Parse((gridView1.GetRowCellValue(i, "MIKTAR")).ToString());
                    birimfiyat = decimal.Parse((gridView1.GetRowCellValue(i, "BIRIM_FIYAT")).ToString());
                    ToplamTutar = decimal.Parse((gridView1.GetRowCellValue(i, "BRUT_FIYAT")).ToString());
                    AraToplam += birimfiyat*miktar;
                    kdvorani = decimal.Parse((gridView1.GetRowCellValue(i, "KDV")).ToString());
                    kdvtutari += ((decimal.Parse((gridView1.GetRowCellValue(i, "BRUT_FIYAT")).ToString())) * 18) / 100;
                    NetToplam += ToplamTutar;
                    GenelToplam = NetToplam + kdvtutari;
                   }
                indirim = AraToplam - NetToplam;
                txtKDV.Text = kdvtutari.ToString("0.00");
                txtAraToplam.Text = AraToplam.ToString("0.00");
                txtNetFiyat.Text = NetToplam.ToString("0.00");
                txtIndirimToplam.Text = indirim.ToString("0.00");
                txtGeneltoplam.Text = GenelToplam.ToString("0.00");
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message);
            }
        }
------------------------------------------ Üçüncü kod Bloğumuz ise gridde herhangi bir satır değişiminde kullanacağımız kod bloğudur
 private void gridView1_RowCountChanged(object sender, EventArgs e)
        {
            Hesapla();
        }

 

Ziyaretciler

0155737
Bugün
Dün
Bu Hafta
Hafta
Bu Ay
Ay
Toplam
66
132
497
127621
2590
2762
155737

IPniz: 54.225.3.207
Server Time: 2017-09-23 03:49:28