dataGridView1中当第三列的cell发生变化时触发一个事件。请问这个怎么写的,我想触发的事件就是金额求和的事件。
如果我用ataGridView1_CellValueChanged这个事件,但是我还没有接受到第三列的值呢,所以又错误出现!!
如果当第三列值发生变化时在去发出这个金额求和的时间就好了,怎么写,
大侠们给点思路就行了!!
有代码的加分给你们!!

解决方案 »

  1.   

    参考下面代码,即可判断行中是否所填为数字  又可以求和的值01.int num = 0;  
    02.       private void dgTeam_DataError(object sender, DataGridViewDataErrorEventArgs e)  
    03.       {  
    04.           for (int i = 0; i < dgTeam.Rows.Count; i++)  
    05.           {  
    06.               try  
    07.               {  
    08.                   num = Convert.ToInt32(this.dgTeam.Rows[i].Cells[0].Value);  
    09.                   num = Convert.ToInt32(this.dgTeam.Rows[i].Cells[1].Value);
                          //
                           //这边写   a *  b    =sum    相关代码
    10.               }  
    11.               catch  
    12.               {  
    13.                   MessageBox.Show("该项只能为数字,请重新填写", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);  
    14.                   return;  
    15.               }  
    16.  
    17.           }  
    18.       }  
      

  2.   


    我试过了,不能自动就和了,
     int tt = dataGridView1.RowCount - 1;  //----------金额求和----------//
                int c = 0;
                for (int i = 0; i < tt; i++)
                {                int a = Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value.ToString());
                    int b = Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value.ToString());                c += a * b;
                }
                textBox4.Text = c.ToString();
    这是我求和的代码,问题是不知道放在哪个事件下面了1
      

  3.   

    楼主可以把当前点击的单元格变为as textbox,这样就可以限制只输入数字了.至于第三列e.columnindex就可以判断!
      

  4.   

    我就是这样操作的
     if (e.ColumnIndex==3)
                {
                    //int tt = dataGridView1.RowCount - 1;  //----------金额求和----------//
                    int c = 0;
                    for (int i = 0; i < tt; i++)
                    {                    int a = Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value.ToString());
                        int b = Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value.ToString());                    c += a * b;
                    }
                    textBox4.Text = c.ToString();
                }在您的提示下我已经实现了该功能
    十分感谢您