两个事件触发不了  什么原因?谢谢。private void dgvasjs_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            double sl, dehj, dedj;
            if (dgvasjs.Columns[e.ColumnIndex].Name == "shuliang ")
            {
                if ((String)dgvasjs.Rows[e.RowIndex].Cells["budgetUnitPriceProcess"].Value != " " && (String)dgvasjs.Rows[e.RowIndex].Cells["currentUnitPriceProcess"].Value != " ")
                {
                    sl = double.Parse((String)dgvasjs.Rows[e.RowIndex].Cells["shuliang "].Value);
                    dedj = double.Parse((String)dgvasjs.Rows[e.RowIndex].Cells["budgetUnitPriceProcess"].Value);
                    //if(value!=null||price!=null) 
                    dehj = sl * dedj;                    dgvasjs.Rows[e.RowIndex].Cells["dehj"].Value = dehj.ToString("¥######.0 ");
                }            }
        }        private void dgvasjs_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            double sl, dedj, dehj;//price=单价,value=数量,age=小计 
            //当“数量”或“单价”单元格处于编辑状态时进行计算“小计” 
            if (dgvasjs.Columns[e.ColumnIndex].Name == "shuliang ")
            {
                //检验“数量”和“单价”单元格内容不为空 
                if ((String)dgvasjs.Rows[e.RowIndex].Cells["budgetUnitPriceProcess"].Value != " " && (String)dgvasjs.Rows[e.RowIndex].Cells["currentUnitPriceProcess"].Value != " ")
                {
                    sl = double.Parse((String)dgvasjs.Rows[e.RowIndex].Cells["shuliang "].Value);
                    dedj = double.Parse((String)dgvasjs.Rows[e.RowIndex].Cells["budgetUnitPriceProcess"].Value);
                    //if(value!=null||price!=null) 
                    dehj = sl * dedj;                    dgvasjs.Rows[e.RowIndex].Cells["dehj"].Value = dehj.ToString("¥######.0 ");
                }            }
        }