2016-03-22 3 views
1

Я использую кнопку на клике, чтобы добавить продукт в свой GridControl. В событии theres for-loop, который вычисляет элементы. Моя проблема заключается в том, чтобы щелкнуть событие, оно добавляет продукт в сетку, но не вычисляет элемент.Значение сумм Gridcontrol

Я использую метод void для вычисления и вызова его с измененным событием gridrowcount, однако я не хочу этого. Я хочу, чтобы он вычислял при добавлении продукта.

void Hesapla() 
{ 
    decimal Toplam = 0; 

    for (int i = 0; i < gridView1.RowCount + 1; i++) 
    { 
     Toplam += decimal.Parse(gridView1.GetRowCellValue(i, "Tpl").ToString()); 

    } 
    txtToplam.Text = Toplam.ToString("0.00"); 
    btnAdetText.Text = gridView1.RowCount.ToString() + " Ürün"; 
} 

Когда я изменяю RowCount к -1 или +1 он дает ошибку.

Мой код для добавления продукта:

SimpleButton urun = (SimpleButton)sender; 
UrunID = Convert.ToInt16(urun.Tag); 
DataRow Dr = cls.urunSec(UrunID); 
Ses2(); 
gridView1.AddNewRow(); 

gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "ID", Dr["ID"].ToString()); 
gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "STOKADI", Dr["STOKADI"].ToString()); 
gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "ADET", Adet); 
gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "TOPLAM", Dr["SATISFIYAT"].ToString()); 
+0

Почему бы просто не назвать 'Hesapla()' после того, как вы добавили новую строку? Также убедитесь, что 'gridView1.GetRowCellValue (i," Tpl ")' фактически возвращает что-то. Я не могу понять, является ли «Tpl» значение поля в представленном коде. –

+0

Tpl - имя столбца Unbound. И используйте столбец ADET * TOPLAM. –

+0

при добавлении 2 ıtems рассчитать ı хотите, когда добавить один продукт рассчитать слово –

ответ

0

private void urn_Click(object sender, EventArgs e) 
 
     { 
 
      // Hi 
 
      // ım add new product from here 
 
      SimpleButton urun = (SimpleButton)sender; 
 
      UrunID = Convert.ToInt16(urun.Tag); 
 
      DataRow Dr = cls.urunSec(UrunID); 
 
      Ses2(); 
 
      gridView1.AddNewRow(); 
 
      gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "ID", Dr["ID"].ToString()); 
 
      gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "STOKADI", Dr["STOKADI"].ToString()); 
 
      gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "MIKTAR", Adet); 
 
      gridView1.SetRowCellValue(DevExpress.XtraGrid.GridControl.NewItemRowHandle, "BIRIMFIYAT", Dr["SATISFIYAT"].ToString()); 
 
      Hesapla(); 
 
     } 
 
I have added , but did not

+0

ı решила спасибо. Я использую gridview1.Refreshdata. лучшие защитники –