首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView两动态单元格数值相加后放到另一动态的单元格的有关问题

2012-01-26 
GridView两动态单元格数值相加后放到另一动态的单元格的问题 急先看我的代码:inti0GridView1.Rows[1].Ce

GridView两动态单元格数值相加后放到另一动态的单元格的问题 急
先看我的代码:
int   i=0;
GridView1.Rows[1].Cells[i   +   3].Text=GridView1.Rows[0].Cells[i   +   3].Text+GridView1.Rows[1].Cells[i   +   2].Text;
最后执行的结果:
如果GridView1.Rows[0].Cells[i   +   3]=250.50
GridView1.Rows[1].Cells[i   +   2].Text=2
那么GridView1.Rows[1].Cells[i   +   3]=250.52
问题是我希望得到的结果是:252.50请问应该怎么修改它呢,而当某一个单元格是空时(即没有任何数据)又怎么处理呢,谢谢!!!

[解决办法]
GridView1.Rows[1].Cells[i + 3].Text=Convert.ToDecimal(GridView1.Rows[0].Cells[i + 3].Text)+Convert.ToDecimal(GridView1.Rows[1].Cells[i + 2].Text);

[解决办法]
可在数据库中就计算好。或者给数据源加个表达示列。如dt.Columns.Add( "SubTotal ",typeof(decimal), "字段1+字段2 ");
[解决办法]
如果没有数据的时候判断一下,赋值为0

绑定数据的事件中:

double a=0;
double b=0;
if(GridView1.Rows[0].Cells[i + 3].Text!=null&&GridView1.Rows[0].Cells[i + 3].Text.CompareTo( " ")!=0)
{
a=Convert.ToDecimal(GridView1.Rows[0].Cells[i + 3].Text);
}
if(GridView1.Rows[0].Cells[i + 2].Text!=null&&GridView1.Rows[0].Cells[i + 2].Text.CompareTo( " ")!=0)
{
b=Convert.ToDecimal(GridView1.Rows[0].Cells[i + 2].Text);
}

GridView1.Rows[1].Cells[i + 3].Text = (a+b).ToString();
[解决办法]
无法将类型“decimal”隐式转换为“double”。=====> 你是用的楼上谁的代码?转换一下就可以了
[解决办法]
GridView1.Rows[1].Cells[i + 3].Text=Convert.ToDouble(GridView1.Rows[0].Cells[i + 3].Text)+Convert.ToDouble(GridView1.Rows[1].Cells[i + 2].Text);

热点排行
Bad Request.