日期:2014-05-17  浏览次数:21005 次

WPF中DataGrid的获取莫一列求和的问题
我看网上的帖子有一种方法是
 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 的行数不多时候 一切正常,当行数一旦十多行的时候,有时候大概二十多行也会出错! 请问为什么?怎么改善。我的目的就是想得到某一列的数据,之后求和或其他操作。

------解决方案--------------------
你先判断这个值是否为空?
dataGrid.Columns[index].GetCellContent(dataGrid.Items[i]) as TextBlock).Text.ToString()

不为空才可以转换,如果是空值转换就会报错.