private void OnColChanged(object sender, DataColumnChangeEventArgs e){
           dg.CurrentRowIndex ++;
if (e.Column.ColumnName == "p" || e.Column.ColumnName == "sp" 
|| e.Column.ColumnName == "qty"||e.Column.ColumnName == "up"){
decimal qty = 0,up = 0;//tr = 0,p = 0 ;
try
{
if (e.Row["qty"] != DBNull.Value) qty = (decimal)e.Row["qty"];
if (e.Row["up"] != DBNull.Value) up = (decimal)e.Row["up"];

if (e.Row["qty"] != DBNull.Value || e.Row["up"] != DBNull.Value)
******** e.Row["p"] = qty;//Decimal.Multiply(qty,up) ******** }
catch(Exception ex){

}
我是.net菜菜 
这段代码是根据 原来项目里的 代码修改的,是想做一个在一行数据里面做一个 根据单价与数量相乘 算价格的功能,但是这个价格还在最后汇总为最后的一个总价,所以用这种方法做。。
到******** 这一行 就出现错误了 windows窗口 直接关闭
如果把这行去掉的话 就没问题 我现在想知道是不是 e.Row["p"]的 格式关系导致的?
如果是 该怎么解决啊