本帖最后由 miodiske 于 2009-07-18 09:48:14 编辑

解决方案 »

  1.   

    简单一点。用sql语句啊。
    select a字段,xx,xx,xx from tablename
    union
    select sum(a字段),自己随便写个直吧,自己随便写个直吧,自己随便写个直吧 from tablename.
      

  2.   

    你这样控制的不是很好,你还不如申明个私有变量,等全部计算完之后在写到最后一行的cell里。
      

  3.   

    我是写在CellValueChanged事件里面的  因为之前我进行了列运算
      

  4.   

    呵呵。他的意思很明显了呀,LZ。
       我这样给你举个例子吧:
    现在我用gridview显示每个学生的各科成绩。然后最后面一行显示所有学生的各科的总分:    C# Code:
     public void UserBind() //首先绑定数据
        {
            SqlConnection con = null;
            try
            {
                con = new SqlConnection("server=WWW-F52A5D25D6C\\SQLEXPRESS;database=testSql;uid=sa;pwd=123");
                con.Open();
                string sql = "select * from StudentExam";
                DataTable d = new DataTable();
                SqlDataAdapter dt = new SqlDataAdapter(sql, con);
                dt.Fill(d);
               
                /*查询出所有学生的语文考试得分的总和*/
                string sql1 = "select sum(Chinese) from StudentExam";
                SqlDataAdapter dt1=new SqlDataAdapter(sql1,con);
                DataTable dChineseSum = new DataTable();
                dt1.Fill(dChineseSum);
                /*查询出所有学生英语考试得分的总和*/
                string sql2 = "select sum(English) from StudentExam";
                SqlDataAdapter dt2 = new SqlDataAdapter(sql2, con);
                DataTable dEnglish = new DataTable();
                dt2.Fill(dEnglish);            //给最后一行的总分合计赋值
                //给表追加最后一行;
                DataRow dtr = d.NewRow();
                dtr["name"] = "总分合计";
                dtr["Chinese"] = dChineseSum.Rows[0][0].ToString(); //语文
                dtr["English"] = dEnglish.Rows[0][0].ToString(); //英语
                d.Rows.Add(dtr);
                d.AcceptChanges();
                this.GridView1.DataSource = d.DefaultView;
                this.GridView1.DataBind();
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
            finally
            {
                if (con != null)
                {
                    con.Close();
                }
            }
        }这其实跟楼上的大哥们的意思 是差不多的。
       就用sql语句查询出各科的分数和。 然后 在在绑定之前追加一行。然后绑定就行了!
           你最好不要循环遍历gridview,这样效率很低了!我上面的例子随手写的。呵呵,没太注重代码重用!
         希望这样能帮到你!
      

  5.   

    尝试一下哈= =  谢谢提供代码的  wangbenyan 大大
      

  6.   

    楼上的代码 有 OPEN 没close! !!
      

  7.   

    wangbenyan 大大   的代码  
    倒数第十四行的         this.GridView1.DataBind(); 
    后面的DataBind();    方法好像不对哦。调试是成功的 可是最后的运行的   结果却是没有显示出行的运算= = 可是看看么。。