用T-SQL语句直接生成合计行记录,具体怎么做你可以查询SQL SERVER的联机丛书

解决方案 »

  1.   

    实现起来比较困难。
    特别是datagrid中添加n行后,还要自动添加合计。
      

  2.   

    但是不是用的SQL SERVER怎么办?
      

  3.   

    标准SQL语句可使用于任何数据库,你可以测试一下,可能有少许的区别!
      

  4.   

    但是不是用的SQL SERVER怎么办?其实没有什么大的区别!
      

  5.   

    我想可以这样实现,在DATATABLE里计算合计
    private void button2_Click(object sender, System.EventArgs e)
    {
    SqlConnection conn=new SqlConnection("server=xcj;uid=****;pwd=****;database=pubs");
    conn.Open();
    try
    {
    int a=0;
    SqlDataAdapter da=new SqlDataAdapter("select * from abc",conn);
    DataSet ds=new DataSet();
    da.Fill(ds,"abc");
    DataTable dt=ds.Tables["abc"];
        //计算总计,(合计)
    for(int i=0;i<dt.Rows.Count;i++)
    {
    a+=Int32.Parse(dt.Rows[i][1].ToString());
    }
    //添加一个新行
    DataRow dr=dt.NewRow();
    //显示的字 dr[0]="合计";
    //显示的合计 dr[1]=a;
    dt.Rows.Add(dr);
    //绑定到DATAGRID ds.AcceptChanges();
    dataGrid1.DataSource=dt.DefaultView;

    }
    catch(Exception exp)
    {
        MessageBox.Show(exp.Message);
    }
    }
    //测试通过了
    :)
      

  6.   

    如果微软的控件象第三方控件xtragrid
    就真是太爽了!
      

  7.   

    自己做一个用自定义控件,里面用两个表格控件,一个作为主显示的表格,另一个做为汇总表格,但要无边框并只有一行与滚动条,这样叠放在一起,要滚动的话就根据主表格的滚动条事件来调用汇总表格的滚动条就可以了!至于汇总根据主表来求得汇总表格的数据,应该没问题吧?
    希望能给你点思路,呵呵以前我用MsFlexGrid都是用这种方法的,并且效果非常好!
      

  8.   

    如果用户在datagrid中添加了n行后,在生成汇总行,如何实现???
      

  9.   

    类似
    Adding a Totals Field in a DataGrid http://www.dotnetjunkies.com/Article/2F527E21-A6C5-497A-8B56-4150BDAF711D.dcik