DevExpress.XtraGrid 我有 数量、价格、汇总三个字段,现在我想要在改数量、价格时自动计算出汇总,请问那个事件比较好?
我试了好多,如:
private void datagrid_EditorKeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
但是这样每次计算都是用上一次改变后的结果。
我看DevExpress.XtraGrid 有一如下事件
//this.gridView1.CellValueChanging+=;
但不知如何写,请高手赐教,谢谢
不胜感激!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    加个onchange事件,当然改动时重新计算汇总里的值
      

  2.   

    CellValueChanged 不行嗎
    干嘛要用  CellValueChanging?
    先判斷e.Column,然後就好寫了
    下班了 ,回家先。
      

  3.   

    private void gvIODetail_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
    {
    string colName = e.Column.FieldName; //LineSummary = SinglePrice * Qty * (Discount / 100)
    if ([判断是否需要计算的列)
    {
    DataRow drCur = this.xh.GetActiveDataRow(); //计算小计
    Decimal singlePrice = (Decimal)XApp.TryDecimal(drCur[this.dcSinglePrice.ColumnName]),
    qty = (Decimal)XApp.TryDecimal(drCur[this.dcQty.ColumnName]),
    discount = (Decimal)XApp.TryDecimal(drCur[this.dcDiscount.ColumnName]);
    drCur[this.dcLineSummary.ColumnName] = singlePrice * qty * discount / 100;
    this.txtTotalMoney.Text = this.TotalPrice.ToString();
    }
    }
      

  4.   

    if(e.Column.Name == "Column1" ||e.Column.Name == "Column2")
    {
    int j = Convert.ToInt32(this.gridView1.GetRowCellValue(e.RowHandle,this.colColumn1)) +Convert.ToInt32(this.gridView1.GetRowCellValue(e.RowHandle,this.colColumn2)) ;
    this.gridView1.SetRowCellValue(e.RowHandle,this.colColumn3,j);
    }
    最簡單的方法了 ,回家先
      

  5.   

    private void gvIODetail_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
    这个事件是怎么写的,如gridView1.SelectionChanged事件是如下写的:
    this.gridView1.SelectionChanged += new DevExpress.XtraGrid.SelectionChangedEventHandler(this.gridView1_SelectionChanged);谢谢了
      

  6.   

    to:timiil(小华) 
    你那里面有好多东东我看不明白,如DataRow drCur = this.xh.GetActiveDataRow
    XApp这些都是些什么东东,能讲清楚点吗?谢谢