如标题。

解决方案 »

  1.   

    当前页你就直接取得 gridview里面所有列的值。
    总和的话  你自己到数据库去取得
      

  2.   

    可以在数据库里面把列的合计插入到原来表的最后一行形成一个新表,(这个可以用存储过程实现)
    id为合计 然后把insert into 表 列=sum(列)where id= 合计
      

  3.   

     我当前已经通过某些方法获取到了某列的合计,但是我要导出Excel中的所有数据(包括合计),但是导出Excel的总是第一页数据。
      

  4.   

    在GridView的RowDataBound事件中把要合计的数据取出来加起来,然后显示出来就可以了。
      

  5.   

    导出的时候需要把所有数据都取出来了,可以在DataTable里新加一列,然后循环取出的数据,计算出合计,然后再导出来。
      

  6.   

    合计所有行的值,可以使用DataTable和sqlDatareader读取此列的值 楼主一定是想合计当页列的值
    如果只是统计当前页的,使用js就能实现
    在控件中放一个隐藏域,然后遍历项模板,将值累加之后显示在它的脚模板中
      

  7.   

    你可以伪造一个tr 放在Gridview最下面 用CSS控制样式跟GV吻合。来统计汇总不参加分页
      

  8.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="id"  Width="402px" ShowFooter="true" 
                onrowdatabound="GridView1_RowDataBound">
                <Columns>
                  <asp:TemplateField >
                       <HeaderTemplate>Product</HeaderTemplate>
                       <ItemTemplate><%#Eval("Product") %></ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField >
                        <HeaderTemplate>Version</HeaderTemplate>
                        <ItemTemplate> <%#Eval("Version")%>
                        </ItemTemplate>
                          <FooterTemplate>
                            <asp:Label ID="lbltest" runat="server"></asp:Label>
                          </FooterTemplate>
                   </asp:TemplateField>
               </Columns>
            </asp:GridView>protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindTest();
            }
        }
        public void BindTest()
        {        DataTable tblDatas = new DataTable("Datas");
            DataColumn dc = null;
            dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
            dc.AutoIncrement = true;//自动增加
            dc.AutoIncrementSeed = 1;//起始为1
            dc.AutoIncrementStep = 1;//步长为1
            dc.AllowDBNull = false;//        dc = tblDatas.Columns.Add("Product", Type.GetType("System.String"));
            dc = tblDatas.Columns.Add("Version", Type.GetType("System.String"));
            dc = tblDatas.Columns.Add("Description", Type.GetType("System.String"));        DataRow newRow;
            newRow = tblDatas.NewRow();
            newRow["Product"] = "大话西游";
            newRow["Version"] = "2.0";
            newRow["Description"] = "我很喜欢";
            tblDatas.Rows.Add(newRow);        newRow = tblDatas.NewRow();
            newRow["Product"] = "梦幻西游";
            newRow["Version"] = "3.0";
            newRow["Description"] = "比大话更幼稚";
            tblDatas.Rows.Add(newRow);
            GridView1.DataSource = tblDatas;
            GridView1.DataBind();
     
        }
     private double sum = 0;//取指定列的数据和
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            DataRowView drv = e.Row.DataItem as DataRowView;
            if (e.Row.RowIndex >= 0)
            {
                sum += Convert.ToDouble(drv["Version"]);
            }
            else   if (e.Row.RowType == DataControlRowType.Footer)
            {
                e.Row.Cells[0].Text = "总薪水为:";
                ((Label)e.Row.FindControl("lbltest")).Text= sum.ToString();
            }
        }