大家都知道DataGird是一个功能强大的数据绑定控件,使用起来比较顺手,有利必有弊。相信大家也都清楚它的利害关系,在这里就不多罗索了,直接进入主题吧。
首先需要允许DG的页脚显示。(用于显示统计列值)
第二,将要统计的列设为模板列,编辑模板列里的项模板,将项模板里的label控件命名为:lblQuantity
第三,在DG的ItemDataBound 事件里写如下代码:
if(e.Item.ItemIndex >= 0)
{
//取指定列的数据总和
Label lblQuantity = (Label)e.Item.Cells[5].FindControl("lblQuantity"); //比如第六列为数量
intSum += int.Parse(lblQuantity.Text.ToString());
}
else if(e.Item.ItemType == ListItemType.Footer)
{
e.Item.Cells[2].Text = "<font color='red'>总计:</font>"; //第三列显示总计
e.Item.Cells[5].Text = "<font color='red'>"+intSum.ToString()+"</font>"; //第六列显示统计的数量,可根据自己的要求做相应调整。
}
注:intSum是全局变量,此测试代码在VS2003下运行正常。