Forum

GridControl iç...
 
Bildirimler
Hepsini Temizle

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

4 Yazılar
3 Üyeler
0 Likes
1,088 Görüntüleme
(@BurakYigit)
Gönderiler: 30
Trusted Member
Konu başlatıcı
 

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 ?

 
Gönderildi : 22/10/2013 18:55

(@ismailadar)
Gönderiler: 134
Estimable Member
 

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;

                    }

                }

            } 

 
Gönderildi : 24/10/2013 13:17

(@BurakYigit)
Gönderiler: 30
Trusted Member
Konu başlatıcı
 

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. 

 
Gönderildi : 24/10/2013 13:45

(@ozguraltinel)
Gönderiler: 244
Reputable Member
 
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;
           }
       } 
 
 
Gönderildi : 06/11/2013 20:13

Paylaş: