当前位置:编程学习 > C#/ASP.NET >>

Gridview添加合计行问题!

--------------------编程问答-------------------- 直接在DataTable中加合计行,然后绑定到GridView --------------------编程问答-------------------- 查询的时候就把合计查出来,或者在datatable里加一行合计 --------------------编程问答-------------------- 你的这个
else if (e.Row.RowType == DataControlRowType.Footer)
{
    e.Row.Cells[3].Text = "合计:";
    e.Row.Cells[4].Text = sum.ToString();
    e.Row.Cells[5].Text = sum1.ToString();
}
判断在
if (e.Row.RowType == DataControlRowType.DataRow)
{
    //上面的Footer添加的内容你放在了DataRow里,当然执行不到了。
}

你的那个RowDataBound的if...else 感觉太乱了,自己检查一下先。 --------------------编程问答-------------------- 以前帮别人写过类似的,你参考一下,原帖地址:

http://topic.csdn.net/u/20110820/00/238cba9a-eb6a-495d-a01d-e1d64b98f738.html --------------------编程问答--------------------

    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((e.Row.Cells[1].Text).Length > 16)
            {
                e.Row.Cells[1].Text = (e.Row.Cells[1].Text).Substring(0, 16) + "…";
            }

            if ((e.Row.Cells[2].Text).Length > 16)
            {
                e.Row.Cells[2].Text = (e.Row.Cells[2].Text).Substring(0, 16) + "…";
            }
            string id = e.Row.Cells[11].Text.ToString();
            stockClass sc = new stockClass();
            float not4 = sc.not(id);
            if (not4 == 0)
            {
                e.Row.Cells[11].Text = "<font color=red>0</font>";
            }
            else
            {
                e.Row.Cells[11].Text = String.Format("{0:0.00}", not4);
            }

            string id2 = e.Row.Cells[10].Text.ToString();
            stockClass sc2 = new stockClass();
            float not5 = sc.not1(id);
            if (not5 == 0)
            {
                e.Row.Cells[10].Text = "<font color=red>0</font>";
            }
            else
            {
                e.Row.Cells[10].Text = String.Format("{0:0.00}", not5);
            }
        }
        else
        {
               if (e.Row.RowIndex >= 0)
               {
                     sum += Convert.ToDouble(e.Row.Cells[4].Text);
                    sum1 += Convert.ToDouble(e.Row.Cells[5].Text);
               }
               else if (e.Row.RowType == DataControlRowType.Footer)
               {
                   e.Row.Cells[3].Text = "合计:";
                   e.Row.Cells[4].Text = sum.ToString();
                   e.Row.Cells[5].Text = sum1.ToString();
                }
           }
    }
--------------------编程问答-------------------- 好了,谢谢!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,