列表最后一行加小计或总计 ——小总结

1.所有分页的总计

protected void dvList_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Footer)
            {
                int c1 = 0;
                int c2 = 0;
                int c3 = 0;

//传入查询的sql语句和参数
                using (SqlDataReader dr = xtDAO.SqlText.ExecuteReader(sSql, pam.ToArray()))
                {
                    while (dr.Read())
                    {

       //每列累加
                        c1 += Convert.ToInt32(dr["byjkxs"]);
                        c2 += Convert.ToInt32(dr["bybfhxs"]);
                        c3 += Convert.ToInt32(dr["byzgxs"]);
                    }
                }

                // 设置在 DataGrid 中显示的值
                e.Item.Cells[0].Text = "<font color='red'>总计:</font>";
                e.Item.Cells[4].Text = c1.ToString();
                e.Item.Cells[5].Text = c2.ToString();
                e.Item.Cells[6].Text = c3.ToString();
            }
        }

 

这个总计的就是在执行底部的时候执行(ListItemType.Footer)。就只执行一次了

 

2.小计

小计的就是每页中的所有列累加  所有也可以在行绑定里面 但是是在(if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem))

然后通过e.Item.cell[0]获取值 进行累加 然后 在ListItemType.Footer的时候加进去 也和上面类似!

 

总结:不管是小计还是总计都是要在Footer的时候加上去,区别就是取值不一样,总计的就传查询全部的sql,小计的话,是AlternatingItem的时候累加 放到变量中保存。另外还有一个就是要记得设置list显示底部属性ShowFooter="true"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值