在GridView页脚加入统计自定统计信息

完成后的效果图

很早之前就做过了,但是忘记了。
网上的那个在我实际开发中用处不大,但是也可以借鉴。
http://www.cnblogs.com/Reeezak/archive/2006/07/09/446444.aspx

我自己的,在生成Excel尾部加入统计信息:

        protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        
{
            
if (e.Row.RowType == DataControlRowType.Footer)
            
{
                e.Row.Cells[
0].Text = "统计:";
                e.Row.Cells[
0].HorizontalAlign = HorizontalAlign.Center;

                e.Row.Cells[
1].Text = "Avg:";//获取统计信息

                e.Row.Cells[
1].ColumnSpan = 10;
                
for (int i = 2; i <= 10; i++)
                
{
                    e.Row.Cells[i].Visible 
= false;
                }

            }

        }

如果在页面显示,加入分页,想在页尾显示,只需要在分页时加入最后页显示就可以了。
eg:myGridView.ShowFooter=(pds.IsLastPage ? false : true);

实际操作中就出现了问题,我用以下方法获取统计信息:
ArrayList list = new ArrayList();
for (int i = 0; i < dt.Rows.Count; i++)
{
    
if (!list.Contains(dt.Rows[i][columnname]))
    
{
        list.Add(dt.Rows[i][columnname]);
    }

}

return list.Count;

我在Page_Load里执行此操作,可统计信息放在页尾RowDataBound里面,我定义了全局变量,可是无法得到数据.
研究发现,得不到数据很正常.后来这样做,如下:
原文地址:https://www.cnblogs.com/cnaspnet/p/726935.html