本帖最后由 sunchangyuan 于 2010-04-07 14:32:10 编辑

解决方案 »

  1.   

    声明两点:
    第一,数据是查询放到datatable,然后绑定到datagridview里面的,不知道是不是这样就不能更改数据
    第二,我如果不绑定数据,直接手动输入数据,这个公式是能计算的
      

  2.   

    你想想,只要有一个值发生变动,就会无限的计算下去,是个死循环,你要在事件里加一个判断:
    if(e.Columns==3||e.Columns==4)
    {OrderDGV[5, e.RowIndex].Value = tsum.ToString();}
      

  3.   

    Columns是不是要改成ColumnIndex,里面没有Columns这个属性,但是改成这样
    //数量自增
                if (e.ColumnIndex == 3 || e.ColumnIndex == 4)
                {
                    float tsum = Convert.ToSingle(OrderDGV[3, e.RowIndex].Value.ToString())+ Convert.ToSingle(OrderDGV[4, e.RowIndex].Value.ToString());
                    this.OrderDGV[5, e.RowIndex].Value = tsum.ToString();
                }会报索引超出范围的错
      

  4.   

    你看一下是不是又e.RowIndex==-1的情况,如果有的话,把e.RowIndex==-1,return掉