Closed MrDanOak closed 9 months ago
Grid with the below definition epxorts an empty csv with headers only? been bashing my head against a few different things.
.WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "ID", defaultSortDirection: SortDirection.Dsc) .WithPaging(paging: true, itemsPerPage: 10, allowChangePageSize: true, maxItemsPerPage: 100) .AddColumns((GridColumnListBuilder<Migration> cols) => { cols.Add("ID") .WithValueExpression((Migration migration, GridContext c) => c.UrlHelper.Action("Details", "Migrations", new { id = migration.ID })) .WithValueTemplate("<a href='{Value}'>{Model.ID}</a>", false) .WithPlainTextValueExpression(migration => migration.ID.ToString()) .WithSorting(true); cols.Add("Application Reference") .WithSorting(true) .WithValueExpression(migration => migration.ReferenceNumber.ToString()); cols.Add("Country of Origin") .WithValueExpression(migration => migration.CountryOfOrigin.Description); cols.Add("Migrant") .WithValueExpression(migration => migration.Person.Aliases.Where(a => a.IsPrimary).FirstOrDefault().Forename + " " + migration.Person.Aliases.Where(a => a.IsPrimary).FirstOrDefault().Surname); cols.Add("How") .WithValueExpression(migration => migration.How); cols.Add("Why") .WithValueExpression(migration => migration.Why); cols.Add("Migration Status") .WithSorting(true) .WithValueExpression(migration => migration.MigrationStatus.GetDisplayName()); cols.Add("Assessment Status") .WithValueExpression(migration => migration.AssessmentStatus.GetDisplayName()); }) .WithRetrieveDataMethod((context) => { var options = context.QueryOptions; var migrationItems = new MigrationsContext().Migrations; var onPage = Convert.ToInt32(options.PageIndex); var itemsPerPage = Convert.ToInt32(options.ItemsPerPage); var items = (options.SortDirection == SortDirection.Asc ? migrationItems.OrderBy(m => m.ID) : migrationItems.OrderByDescending(m => m.ID)).Skip(onPage * itemsPerPage).Take(itemsPerPage).ToList(); if (options.SortColumnName == "Migration Status") { items = (options.SortDirection == SortDirection.Asc ? migrationItems.OrderBy(m => m.MigrationStatus) : migrationItems.OrderByDescending(m => m.MigrationStatus)).Skip(onPage * itemsPerPage).Take(itemsPerPage).ToList(); } else if (options.SortColumnName == "Application Reference") { items = (options.SortDirection == SortDirection.Asc ? migrationItems.OrderBy(m => m.ReferenceNumber) : migrationItems.OrderByDescending(m => m.ReferenceNumber)).Skip(onPage * itemsPerPage).Take(itemsPerPage).ToList(); } return (new QueryResult<Migration>() { Items = items, TotalRecords = Queryable.Count(migrationItems) }); }) );
Grid with the below definition epxorts an empty csv with headers only? been bashing my head against a few different things.