不好意思,再次请教各位大侠我把查询出来的数据动态绑定在了gridview上,因为查询的字段每次都不一样,字段数也不一样,所以抛弃了一直用的repeater,用了gridview由于数据量大,所以用了真分页,所以普通的单元格汇总就没法满足了于是我用一条sql查询出了汇总结果,放在dataset里,dataset的字段名也做到了和绑定的字段名一一对应,请问我应该如何把这个汇总结果显示在footer里GridViewRow headname = GridView1.HeaderRow;//取出标题行
然后想怎么遍历标题行的每个单元格,和我dataset里的数据对应上,显示在footer求大神赐教,先谢过了!

解决方案 »

  1.   

    footer?
    在后台算完了显示出来不就行了嘛
      

  2.   

    不管是Repeater还是GridView数据控件,动态产生列的,一样可以:
    http://www.cnblogs.com/insus/archive/2013/03/22/2975824.html
      

  3.   

    没看懂你要怎么显示 ,有统计结果,页脚里显示可以这样: <PagerTemplate>
                   <div id="main">
                      <asp:Label ID="lblPageRow" runat="server" Text="1" CssClass="txtInfo"></asp:Label>
                      </div>
                                     </div>
                  </PagerTemplate>然后在GridView_DataBound把统计的值给上面的label显示
      

  4.   

    兄弟利用devexpress的ASPxGridView可以完美的解决你的问题
      

  5.   


    if(e.Row.RowType==DataControlRowType.Footer)
    {
        GridViewRow headrow = GridView1.HeaderRow;
        GridViewRow footerrow = GridView1.FooterRow;
    for (int j = 0; j < headrow.Cells.Count - 1; j++)
                    {
                        string headfield = headrow.Cells[j].Text;
                        foreach (string b in All_Field)
                        {
                            if (headfield.Contains(b))
                            {
                                string sumnum = dssumresult.Tables[0].Rows[0][headfield].ToString();
                                footerrow.Cells[j].Text = sumnum;
                            }
                        }
                    }
    }请问我这样写  为什么获取不到headrow里的内容,甚至,footerrow竟然是null
      

  6.   

    参考这篇,获取列名:
    http://www.cnblogs.com/insus/p/3263569.html参考这篇获取列总数:
    http://www.cnblogs.com/insus/p/3265629.html
      

  7.   

    还得求助啊,为嘛如下代码竟然取不到headfield的值
     if (e.Row.RowType == DataControlRowType.Header)
                {
                    for (int j = 0; j < e.Row.Cells.Count; j++)
                    {
                        string headfield = e.Row.Cells[j].Text;
                    }            }
      

  8.   

    你的GridView有一个AutoGenerateColumns属性,是设为true还是false?
      

  9.   

    那只能用DataField来判断了:
    DataField 与指定字段名来获取:
    可以参考相关的:
    http://www.cnblogs.com/insus/archive/2010/04/28/1722744.html
      

  10.   

    这问题太怪了,根本取不出来gridview的Columns.Count,不知道这是为什么,我的GridView是完全自动生成的啊
    for (int i = 0; i < gridView.Columns.Count; i++)