IBM i からデータを照会し、それをグリッドに表示しています。すべてのレコードを表示する目的には、いくつかの理由があります。
- 既存のソフトウェアは適切に使用されておらず、人々はアイテムを閉じていません。(ユーザー/トレーニングの問題はありますが、他の項目を参照してください)。そのため、アイテムを開くだけにリストを絞り込むことは正確ではありません。
- ユーザーはすべての履歴を照会できます (これはプロパティ ベースであり、履歴が重要になる場合があります)。
ただし、現在 28,000 のアイテムがあり、今後も増加する予定です。現在、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);
}
表示速度を改善するために別の方法を提案してください。少なくともその後のビューについては。