基本上是这个思路,你自已调试吧:double[] runningTotal = new double[40]; //姑且假设最多40个字段private void CalcTotal(string _mat, int index)
{
try
{
runningTotal[index] += Double.Parse(_mat);
}
catch
{
//A value was null
}
}
public void MyDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
for (int i=1;i<e.Item.Cells.Count;i++) //Cells[0]是文字提示
{
CalcTotal( e.Item.Cells[1].Text, i );
}
}
else if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="Total";
for (int i=1;i<e.Item.Cells.Count;i++)
{
e.Item.Cells[i].Text = runningTotal[i].ToString() ;
}
} }
{
try
{
runningTotal[index] += Double.Parse(_mat);
}
catch
{
//A value was null
}
}
public void MyDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
for (int i=1;i<e.Item.Cells.Count;i++) //Cells[0]是文字提示
{
CalcTotal( e.Item.Cells[1].Text, i );
}
}
else if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="Total";
for (int i=1;i<e.Item.Cells.Count;i++)
{
e.Item.Cells[i].Text = runningTotal[i].ToString() ;
}
} }
如果写SQL的话,就是应该把数据先绑定出来,然后用SUM来求和,是吗?
应该怎样来完成呢?
这样的做法不行!这样做了是把第一个统计的值都传输到了后面的列,也就是说后面列的结果都是第一列的统计值!!!