Я запрашиваю данные из нашего IBM i и отображаю их в сетке. Цель отображения всех записей по нескольким причинам:Как повысить скорость запроса на выгружаемой сетке с большим количеством результатов?
- Существующее программное обеспечение не используется должным образом, и люди не закрывают предметы. (проблема пользователя/обучения да, но см. другие элементы). Таким образом, сужение списка до открытых позиций неточно.
- Это позволяет пользователю запрашивать всю историю (это свойство на основе и история может быть важным)
Тем не менее, в настоящее время 28000 пунктов и будет когда-либо увеличиваться. Прямо сейчас, я использую сетку MvcContrib. Вот мой код:
public ActionResult Index(GridSortOptions gridSortOptions, int? page, int? filterPropertyUniqueKey, int? filterPermitNumber)
{
#region Filter and Sort
var permits = buildingPermitRepository.GetOpenPermits();
// Set default sort and apply filters
if (filterPermitNumber.HasValue)
{
permits = permits.Where(w => w.PermitId == filterPermitNumber.Value);
}
// TODO add more filters
if (String.IsNullOrEmpty(gridSortOptions.Column))
{
gridSortOptions.Column = "DateApplied";
gridSortOptions.Direction = SortDirection.Descending;
}
var permitsPagedList = permits.OrderBy(gridSortOptions.Column, gridSortOptions.Direction).AsPagination(page ?? 1, 20);
#endregion
var viewModel = new PermitIndexViewModel
{
BuildingPermits = permitsPagedList,
GridSortOptions = gridSortOptions
};
return View(viewModel);
}
Что вы предлагаете мне по-другому, чтобы улучшить скорость отображения? По крайней мере, для последующих просмотров.
[CodingHorror: The End of Pagination] (http://www.codinghorror.com/blog/2012/03/the-end-of-pagination.html) – jamesallman