none
水晶报表的一个排序问题,请教大家!谢谢! RRS feed

  • 问题

  • GC_ServeMonthCount gc_ds=new GC_ServeMonthCount();//数据集
     for (int j = 0; j < num_pro; j++)
             {     
    ...............               
                                   gc_ds.servemonthcount.Rows.Add(new object[] { count[0, 0], count[1, 0], count[2, 0], count[3, 0], count[4, 0] }); 
                多行数据,比如数据集中标servemonthcount的某个字段,我想按照其排序,该怎么操作呢?
            }
            ReportDocument myreport = new ReportDocument();
            string reportpath = Server.MapPath("../Report/GC_ServeMonthCount.rpt");
            myreport.Load(reportpath);
            myreport.SetDataSource(gc_ds);
            GC_ServeMonthCount.ReportSource = myreport;
    2009年6月19日 2:33

答案

  • // 变通方法,根据你的自定义排序,更新数据源
    DataTable fTemp = gc_ds.servemonthcount.Copy();
    gc_ds.servemonthcount.Clear();
    foreach (DataRow fDataRow in fTemp.Select("", "ColA ASC, ColB DESC"))
        gc_ds.servemonthcount.Rows.Add(fDataRow.ItemArray);
    另外你可以试试能不能用 DataView 做数据源,如果可以,可以用 DataView.Srot 实现自定义排序
    知识改变命运,奋斗成就人生!
    2009年6月19日 6:27
    版主

全部回复

  • 如果简单的话可以在SQL 中用  Order By 排序
    如果通过点击列头排序这有个现成的例子 http://www.cnblogs.com/flydragon0815/archive/2009/02/28/1400520.html

    知识改变命运,奋斗成就人生!
    2009年6月19日 2:40
    版主
  • 哥们,servemonthcount是我定义好的数据集中的table,现在servemonthcount里面有个字段a,是我统计的数值,我就想按照a从大到小来排序,我也知道可以order by ,问题是,我不知道改怎么对servemonthcount进行操作,还是对数据集gc_ds进行操作?
    2009年6月19日 3:22
  • 你好,上面那个地址你仔细看看,你需要的功能在哪里面已经实现了
    知识改变命运,奋斗成就人生!
    2009年6月19日 3:28
    版主
  • 先谢了,哥们!我还没看呢!
    2009年6月19日 3:38
  • 哥们,我看过了,我想要的是这样,里面还有一个字段是大分类,比如a,b,c三大类,先按照大类排序,然后在大类里面比如有20条记录,这20条再按照,统计值从大到小来排序,现在数据集的表中已经有上百条数据,我想知道怎么样能对数据集中的表再进行order by?
    2009年6月19日 3:46
  • // 变通方法,根据你的自定义排序,更新数据源
    DataTable fTemp = gc_ds.servemonthcount.Copy();
    gc_ds.servemonthcount.Clear();
    foreach (DataRow fDataRow in fTemp.Select("", "ColA ASC, ColB DESC"))
        gc_ds.servemonthcount.Rows.Add(fDataRow.ItemArray);
    另外你可以试试能不能用 DataView 做数据源,如果可以,可以用 DataView.Srot 实现自定义排序
    知识改变命运,奋斗成就人生!
    2009年6月19日 6:27
    版主
  • 先谢了哥们,我试试!
    2009年6月19日 6:50
  • DataTable数据行添加完成后,使用DataView排序

    DataTable dt = new DataTable();
    DataView dv = dt.DefaultView();
    dv.Sort = " ID DESC";

    CC.FENG
    2009年6月19日 8:13
  • 楼上哥们说的怎么解?能针对我的程序吗?
    2009年6月19日 9:32
  • x.x.y兄,字段是string,里面都是些数字,能从大到小排序吗?我试了以下,是按照字符来排的,不是按照从大到小;如果我想按照从大到小,是不是只能去改变数据集中表的字段的数据类型?
    2009年6月19日 11:28
  • 自己搞定了,!谢谢xxy兄!
    2009年6月19日 11:41