class GridDataInt32Aggregate : ISummaryAggregate
{
public GridDataInt32Aggregate()
{
}
public int Sum
{
get;
set;
}
public Action<IEnumerable, string,
PropertyDescriptor> CalculateAggregateFunc()
{
return (items, property, pd) =>
{
if (pd.Name == "Sum")
this.Sum =
Convert.ToInt32(items.AsQueryable().Sum(property));
};
}
}
internal class CountAggregate : ISummaryExpressionAggregate
{
public CountAggregate()
{
}
public int Count
{
get;
set;
}
#region ISummaryExpressionAggregate Members
public Action<IEnumerable, string,
Expression<Func<string, object, object>>, PropertyDescriptor>
CalculateAggregateExpressionFunc()
{
return (items, property, expressionFunc, pd) =>
{
if (pd.Name == "Count")
{
this.Count = items.AsQueryable().Count();
}
};
}
#endregion
}
internal class GridDataTableCountAggregate :
GridDataTableAggregator, ISummaryAggregate
{
public GridDataTableCountAggregate(DataTable table)
: base(table)
{
}
#region IGridDataSummaryAggregate Members
{
Clear a sort criteria by assigning SortDescription.Empty to this property.
One or more sort criteria in form of
var names = new string[] {"Tony", "Al",
"Sean", "Elia"}.AsQueryable();
names.OrderBy(n=>n);
DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var sortedOrders =
queryable.OrderBy("ShipCountry");
public class OrdersComparer :
IComparer<Order>
{
public int Compare(Order x, Order y)
{
return string.Compare(x.ShipCountry, y.ShipCountry);
}
}
var sortedOrders =
db.Orders.Skip(0).Take(5).ToList().OrderBy(o => o, new
OrdersComparer()); public class OrdersComparer :
IComparer<Order>
{
public int Compare(Order x, Order y)
{
return string.Compare(x.ShipCountry, y.ShipCountry);
}
}
var sortedOrders =
db.Orders.Skip(0).Take(5).ToList().OrderByDescending(o => o, new
OrdersComparer()); DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var sortedOrders =
queryable.OrderByDescending("ShipCountry");
DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(100).ToList();
var queryable = orders.AsQueryable();
var parameter =
queryable.Parameter();
var binaryExp = queryable.Predicate(parameter,
"EmployeeID", "4", true);
DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var selector = queryable.Select(new string[]{
"OrderID", "ShipCountry" });
DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var selector = queryable.Select(new List<string>() {
"OrderID", "ShipCountry" });
DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var sortedOrders = queryable.OrderBy("ShipCountry");
sortedOrders = sortedOrders.ThenBy("ShipCity");
public class OrdersComparer :
IComparer<Order>
{
public int Compare(Order x, Order y)
{
return string.Compare(x.ShipCountry, y.ShipCountry);
}
}
var sortedOrders =
db.Orders.Skip(0).Take(5).ToList().ThenBy(o => o, new
OrdersComparer()); public class OrdersComparer :
IComparer<Order>
{
public int Compare(Order x, Order y)
{
return string.Compare(x.ShipCountry, y.ShipCountry);
}
}
var sortedOrders =
db.Orders.Skip(0).Take(5).ToList().ThenByDescending(o => o, new
OrdersComparer()); DataClasses1DataContext db = new
DataClasses1DataContext();
var orders = db.Orders.Skip(0).Take(10).ToList();
var queryable = orders.AsQueryable();
var sortedOrders = queryable.OrderBy("ShipCountry");
sortedOrders = sortedOrders.ThenByDescending("ShipCity");
var nw = new Northwind(@"Data Source =
Northwind.sdf");
IQueryable queryable = nw.Orders.AsQueryable();
var filters = queryable.Where("ShipCountry",
"z", FilterType.Contains);
foreach (Orders item in filters)
{
Console.WriteLine("{0}/{1}", item.OrderID,
item.ShipCountry);
}