积极答复者
水晶报表的一个排序问题,请教大家!谢谢!

问题
-
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;- 已移动 Sheng Jiang 蒋晟Moderator 2009年6月19日 16:28 数据库开发 ([Loc]From:ASP.NET 与 AJAX)
答案
-
// 变通方法,根据你的自定义排序,更新数据源 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 实现自定义排序
知识改变命运,奋斗成就人生!- 已标记为答案 肖小勇Moderator 2009年6月19日 13:50
全部回复
-
如果简单的话可以在SQL 中用 Order By 排序如果通过点击列头排序这有个现成的例子 http://www.cnblogs.com/flydragon0815/archive/2009/02/28/1400520.html
知识改变命运,奋斗成就人生! -
// 变通方法,根据你的自定义排序,更新数据源 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 实现自定义排序
知识改变命运,奋斗成就人生!- 已标记为答案 肖小勇Moderator 2009年6月19日 13:50