日期:2014-05-19  浏览次数:20749 次

对汇总数据如何避开排序?
private   sealed   class   RSMLevelComparer   :   IComparer  
{
public   int   Compare(object   x,   object   y)
{
RSMSalesReport   first   =   (RSMSalesReport)   x;
RSMSalesReport   second   =   (RSMSalesReport)   y;
                                    return   first.RSMLevel.CompareTo(second.RSMLevel);}
 

}
}

在一个自定义的类中,将数据填入DataGrid里面,但数据需要进行汇总,汇总数据放在最下面一行,用上面的继承进行排序时,结果把 "合计 "一栏也进行了排序.我想把它过滤掉不参与排序,不知该如何实现,下面是我想加的一个判断
  if   (first.RSMLevel.ToString()!= "合计 "   &&  
      second.RSMLevel.ToString()!= "合计 ")   将合计滤掉,不知该怎样处理

------解决方案--------------------
先排序,再遍历并汇总,再把汇总数据放到指定的位置
------解决方案--------------------
在数据库里排序不行吗?直接汇总操作排序完成的数据。不知道我说的能不能对你有帮助
=============================================================================
.net技术交流群 QQ:8793209,欢迎职业的程序员加入讨论交流!
------解决方案--------------------
if (first.RSMLevel.ToString()== "合计 " ||
second.RSMLevel.ToString()== "合计 ") return 0;

试试看。
------解决方案--------------------
你可能要重写数据源的比较方法了,让合计始终排在最后。
不行的话要自己重新写一个数据源的类,麻烦了。