Read More on Telerik Blogs
December 09, 2010 Web
Get A Free Trial

I’m happy to announce that with our upcoming service pack (Q3 2010 SP1) you will be able to sort, filter and load records on demand with WCF RIA Services and our VirtualQueryableCollectionView.

 

To enable this we’ve added two extension methods for EntityQuery<T> and now you can use directly VirtualQueryableCollectionView SortDescriptors and FilterDescriptors:

var context = new NorthwindDomainContext();
var query = context.GetOrder_DetailsQuery().OrderBy(o => o.OrderID);

var view = new VirtualQueryableCollectionView() { LoadSize = 10, VirtualItemCount = 100 };
view.ItemsLoading += (s, e) =>
{
    var queryToLoad = query
.IncludeTotalCount(true)
.Sort(view.SortDescriptors)
.Where(view.FilterDescriptors)
.Skip(e.StartIndex)
        .Take(e.ItemCount);

    context.Load<Order_Detail>(queryToLoad).Completed += (sender, args) =>
    {
        var lo = (LoadOperation)sender;
        if (lo.TotalEntityCount != -1 && lo.TotalEntityCount != view.VirtualItemCount)
        {
            view.VirtualItemCount = lo.TotalEntityCount;
        }

        view.Load(e.StartIndex, lo.Entities);
    };
};
 

Enjoy!

 


About the Author

Vladimir Enchev

is Director of Engineering, Native Mobile UI & Frameworks