高手请进:泛类型 list orderby 排序问题
李不爽 2009-08-18 09:39:44
为什么中间的 tempDS.OrderBy(od1 => od1.Value); 没有实现排序呢?
class orderData
{
public long? SId { get; set; }
public string Label { get; set; }
public double? Value { get; set; }
}
//Table排序
void tableHeader_SortHanderEvent(object sender)
{
string strSortFieled = (sender as ITableContent).Text;
List<orderData> tempDS = new List<orderData>();
orderData od;
SourceData.ToList().ForEach(s =>
{
od = new orderData();
od.SId = s.id;
DataItem ditem = s.dataItems.SingleOrDefault(di => di.XLabel==strSortFieled);
od.Label = ditem.XLabel;
od.Value = ditem.YValue;
tempDS.Add(od);
});
//tempDS.OrderBy(od1 => od1.Value); //为什么这里的排序是不成功的?未实现排序效果?
List<Series> ts = new List<Series>();
tempDS.ForEach(od2 =>
ts.Add(SourceData.SingleOrDefault(s => s.id == od2.SId))
);
this.tableData.Clear();
ts.ForEach(s => this.tableData.Add(s));
}
为什么tempDS.OrderBy(od1 => od1.Value); 这里的排序是不成功的?
如果这里改成 用循环遍历tempDS,按照大小顺序排列,如何操作?
我用debug出来的数据格式如下:
SourceData.ToList().ForEach(s => {
Debug.WriteLine(s.name);
s.dataItems.ToList().ForEach(item => Debug.WriteLine(string.Format("XLabel:{0};YValue:{1}", item.XLabel, item.YValue)));
});
1,广告费
XLabel:2009-01;YValue:0
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:0
XLabel:2009-04;YValue:34400
XLabel:2009-05;YValue:0
XLabel:2009-06;YValue:
2,业务宣传费
XLabel:2009-01;YValue:210
XLabel:2009-02;YValue:12095.08
XLabel:2009-03;YValue:971.18
XLabel:2009-04;YValue:1062.32
XLabel:2009-05;YValue:896
XLabel:2009-06;YValue:
促销费
XLabel:2009-01;YValue:0
XLabel:2009-02;YValue:2000
XLabel:2009-03;YValue:5
XLabel:2009-04;YValue:5
XLabel:2009-05;YValue:
XLabel:2009-06;YValue:
客户服务费
XLabel:2009-01;YValue:0
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:0
XLabel:2009-04;YValue:0
XLabel:2009-06;YValue:0
XLabel:2009-05;YValue:
部门使用
XLabel:2009-01;YValue:1870.04
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:558.24
XLabel:2009-04;YValue:0
XLabel:2009-06;YValue:952
XLabel:2009-05;YValue:
促销赠送
XLabel:2009-01;YValue:10267.5
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:519.83
XLabel:2009-04;YValue:0
XLabel:2009-06;YValue:0
XLabel:2009-05;YValue:
业务招待费
XLabel:2009-01;YValue:19658
XLabel:2009-02;YValue:16239
XLabel:2009-03;YValue:14296
XLabel:2009-04;YValue:11480
XLabel:2009-05;YValue:11050
XLabel:2009-06;YValue:9550
卡类
XLabel:2009-01;YValue:0
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:300
XLabel:2009-04;YValue:350
XLabel:2009-05;YValue:450
XLabel:2009-06;YValue:850
礼品
XLabel:2009-01;YValue:4238.95
XLabel:2009-02;YValue:0
XLabel:2009-03;YValue:636
XLabel:2009-04;YValue:0
XLabel:2009-05;YValue:400
XLabel:2009-06;YValue:3038.78