C#中循环读取GridView控件中值的问题

在加载的时候,将GridView中某一列的所有值都读出来,并且相加显示在一个lable上

double money = 0;
foreach (DataGridViewRow Row in dvCost.Rows)
{
money += Convert.ToDouble(Row.Cells[3].Value.ToString());
}
lblMoney.Text = money.ToString();

我这样写的,没做出来,希望大侠们帮帮啊
谢谢~~~~~

第1个回答  推荐于2016-09-18
取单元格显示文本不是Value哦,应该是Text属性。

double money = 0;
foreach (DataGridViewRow Row in dvCost.Rows)
{
money += Convert.ToDouble(Row.Cells[3].Text);
}
lblMoney.Text = money.ToString();本回答被提问者采纳
第2个回答  2009-08-19
这样也可以
for(int i=0;i<dvCost.count;i++)
{
money += double.parse(dvCost.Rows[i][3].Text.ToString());
}

但是 ,既然是加载时候计算 你这些东西肯定是从数据库读的, 你同时计算一下不就得了 还要这样麻烦 遍历GridView 简单的SQL就搞定的

select sum(你的列) 总计 from 你的表名 where 你的条件~!~
第3个回答  2009-08-19
for (int i = 0; i < GridViewYes.Rows.Count; i++)
{
CheckBox checkIfDelete = (CheckBox)GridViewYes.Rows[i].FindControl("CheckYesReply");
int id = int.Parse(GridViewYes.DataKeys[i].Value.ToString());

if (checkIfDelete.Checked)
{
// int mailId = Convert.ToInt32(lbtId.Text);
DataRepository.MailBoxProvider.Delete(id);
}
}我做删除时这样写的。。。
可能Row.Cells[3].Value.ToString()); 读错了,,,
第4个回答  2009-08-19
'<%# Eval("列") %>'
select *from 表 where id=你要取得哪一行
相似回答