WPF中DataGrid的获取莫一列求和的问题

caolei616 2013-10-24 08:15:23
我看网上的帖子有一种方法是
 private static double getDataGridColumnSumByIndex(DataGrid dataGrid,int index)
{
double result = 0.0; //返回的结果
double temp = 0.0; //中间变量

for (int i = 1; i < dataGrid.Items.Count;i++ )
{
double.TryParse((dataGrid.Columns[index].GetCellContent(dataGrid.Items[i]) as TextBlock).Text.ToString(),out temp);
result += temp;
}
return result;
}


该方法传入一个DataGrid 和 一个 index。我测试时 当我的DataGrid 的行数不多时候 一切正常,当行数一旦十多行的时候,有时候大概二十多行也会出错! 请问为什么?怎么改善。我的目的就是想得到某一列的数据,之后求和或其他操作。
...全文
186 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
caolei616 2013-10-24
  • 打赏
  • 举报
回复
引用 1 楼 hdhai9451 的回复:
你先判断这个值是否为空? dataGrid.Columns[index].GetCellContent(dataGrid.Items[i]) as TextBlock).Text.ToString() 不为空才可以转换,如果是空值转换就会报错.
我写了个判断 的确会有时候为空,可是我数据表里的数没有为空的啊 请问这是什么原因呢? if((dataGrid.Columns[index].GetCellContent(dataGrid.Items[i])==null)) { MessageBox.Show("Error!"); }
caolei616 2013-10-24
  • 打赏
  • 举报
回复
这个怎么写语句判断? 可是我datagrid里面没有空的值啊?
Andy__Huang 2013-10-24
  • 打赏
  • 举报
回复
你先判断这个值是否为空? dataGrid.Columns[index].GetCellContent(dataGrid.Items[i]) as TextBlock).Text.ToString() 不为空才可以转换,如果是空值转换就会报错.

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧