Forum

GridControl iç...
 
Bildirimler
Hepsini Temizle

GridControl içindeki satırlarda sayısal işlem.!!

Burak Yiğit
(@BurakYigit)
Üye

Merhaba arkadaşlar

yapmak istediğim şey şu. Grid control içinde Miktar,Birim,KDV,Fiyat,Tutar gibi sütunlar var.

adet * (birimfiyat + (birimfiyat * kdv / 100)) gibi bir işlem yaptırmak istiyorum. Textleri Convert yaparak işlem yaptırmayı denedim ama olmadı. yardımcı olurmusunuz lütfen ?

Alıntı
Konu başlatıcı Gönderildi : 22/10/2013 18:55
İsmail ADAR
(@ismailadar)
Üye

Merhaba,

Bunun için gridin oncellvalidate eventini kullanabilirsiniz. Örneğin aşağıdaki kodda iki kolonun degeri toplanıp sonuc adlı üçüncü kolona yazılır.

 private void dataGridView_CellValidated(object sender, DataGridViewCellEventArgs e) {

                if (e.RowIndex > -1) {

                    DataGridViewRow row = dataGridView.Rows[e.RowIndex];

                    string adet = row.Cells[adet.Index].Value.ToString();

                    string birimfiyat = row.Cells[birimfiyat.Index].Value.ToString();

                    int result;

                    if (Int32.TryParse(adet, out result)

                        && Int32.TryParse(birimfiyat, out result)) {

                        row.Cells[sonuc.Index].Value = adet + birimfiyat;

                    }

                }

            } 

CevapAlıntı
Gönderildi : 24/10/2013 13:17
Burak Yiğit
(@BurakYigit)
Üye

peki bunu Row a atmaktansa Kolona gömsek ve grid içindeki diğer satırlarda da aynısını yapsa daha iyi olmaz mı ? 

benim sölemek istediğim bu aslında. DevExpress de GridControl içindeki sütunlara Formül yazıp her satırda aynı işlemi yaptırmak istiyorum. 

CevapAlıntı
Konu başlatıcı Gönderildi : 24/10/2013 13:45
ozguraltinel
(@ozguraltinel)
Üye
Ben Sql den Miktar ve Birim fiyatını gride çekiyorum. Daha sonra ilk aşamada gride TOPLAM adında sütun oluşturup hesaplamayı aşağıdaki gibi yapıyorum. 
 
protected void ASPxGridView1_Init(object sender, EventArgs e)
       {
           GridViewDataTextColumn TOPLAM = new GridViewDataTextColumn();
           TOPLAM.Caption = "TOPLAM";
           TOPLAM.FieldName = "TOPLAM";
           TOPLAM.UnboundType = DevExpress.Data.UnboundColumnType.Integer;
           TOPLAM.VisibleIndex = ASPxGridView1.VisibleColumns.Count;
           TOPLAM.PropertiesTextEdit.DisplayFormatString = "c";
           ASPxGridView1.Columns.Add(TOPLAM);
           TOPLAM.VisibleIndex = 10;
       }
 protected void ASPxGridView1_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDataEventArgs e)
       {
           if (e.Column.FieldName == "TOPLAM")
           {
               decimal miktar= (decimal)e.GetListSourceFieldValue("MIKTAR");
               decimal fiyat = (decimal)e.GetListSourceFieldValue("BIRIMFIYAT");
               e.Value = miktar * fiyat;
           }
       } 
 
CevapAlıntı
Gönderildi : 06/11/2013 19:13
Paylaş: