2013-04-17 37 views
0

我用這個:如何在計算平均值時過濾數據?

.DataSource(dataSource = > dataSource.Ajax() 
    .Aggregates(aggregates = > { 
    aggregates.Add(p = > p.UnitsInStock).Min().Max().Count(); 
    aggregates.Add(p = > p.UnitsOnOrder).Average(); 
    aggregates.Add(p = > p.ProductName).Count(); 
    aggregates.Add(p = > p.UnitPrice).Sum(); 
}) 
    .Group(groups = > groups.Add(p = > p.UnitsInStock)) 
    .Read(read = > read.Action("Aggregates_Read", "Grid")) 

現在我想計算單價的總和沒有那些價格這< 0和背景是不透明的(沒有顏色);我寫的代碼了,但它是錯誤的。

.DataSource(dataSource = > dataSource.Ajax() 
    .Aggregates(aggregates = > { 
    aggregates.Add(p = > p.UnitsInStock).Min().Max().Count(); 
    aggregates.Add(p = > p.UnitsOnOrder).Average(); 
    aggregates.Add(p = > p.ProductName).Count(); 
    aggregates.Add(p = > p.UnitPrice) 
     .Sum(p.UnitPrice > 0 && p.background == transparent); 
}) 
    .Group(groups = > groups.Add(p = > p.UnitsInStock)) 
    .Read(read = > read.Action("Aggregates_Read", "Grid")) 

回答

1

自定義聚合不支持。您可以考慮定義自己的模板並計算ityourself,您可能需要的信息可以從dataSource.view()或dataSource.data()方法中檢索。

Here是一個帖子,它解釋了一樣的。