private async Task TestColumnOrderAsync() { foreach (GridColumnBase column in GridColumnBases) { SortChangeEvent sort = new SortChangeEvent() { SortId = column.PropertyInfo.Name, Direction = SortDirection.Asc }; ItemList = await GetPageAsync(sort, null); } }
public async Task <List <object> > GetPageAsync(SortChangeEvent sort, GridSearch search) { if (sort == null) { return((await GetListAsync(search)) .Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList()); } else { PropertyInfo prop = ItemType.GetProperty(sort.SortId); if (sort.Direction == SortDirection.Desc) { return((await GetListAsync(search)).OrderByDescending(x => prop.GetValue(x, null)) .Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList()); } else { return((await GetListAsync(search)).OrderBy(x => prop.GetValue(x, null)) .Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList()); } } }