The ListView VirtualMode allow very efficient data display of very large resultset. We can mix this ability with Linq Skip(n) and Take(m) to bind a IQueryable<T> to a virtual list view. To efficently avoid to query the underlaying database, we have to cache in some way the results with some paging strategy.
Below the solution I used:
{
IQueryable<T> queryable;
this.pageSize = pageSize;
}
pages.Clear();
page = index / pageSize;
offset = index % pageSize;
pages[page].AddRange(queryable.Skip<T>(start).Take<T>(pageSize));
Remember Me
a@href@title, b, strike, strong
E-mail
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.