We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Does grid rendering time vary with size of underlying collection?

Thread ID:





89993 Sep 13,2009 04:35 PM UTC Sep 14,2009 07:55 PM UTC ASP.NET MVC (Classic) 1
Tags: Grid
Brian Button
Asked On September 13, 2009 04:35 PM UTC

When rendering my output page for a record set of 129,000 records, the grid control seems to take nearly 10 seconds to render. I know it is entirely in the rendering because the data is cached between requests. Is this normal? If I filter my record set down to only a thousand rows or so, the render time is cut to under a second.

Note - I'm not showing all 129k rows, I'm only only asking the grid to show the first page of rows, completely unsorted.

I create a grid as such:

return new GridPropertiesModel
DataSource = dataSource,
PagingSortingMapper = pagingSortingMapperUrl,
Caption = caption,
AllowSorting = true,
AllowPaging = true,
AllowMultiSorting = true,
PageCount = 10,
PageSize = 16,
HeaderText =
PrimaryKeyColumns = {"ColA"},
ShowCaption = false,

and I render it on the page like this:

"ModelInformation_Grid", "GridModel", column =>
column.Add(p => p.ColA).HeaderText("ColA");
column.Add(p => p.ColB).HeaderText("ColB");
column.Add(p => p.ColC).HeaderText("ColC");
column.Add(p => p.ColD).HeaderText("ColD");
column.Add(p => p.ColE).HeaderText("ColE");
column.Add(p => p.ColF).HeaderText("ColF");
column.Add(p => p.ColG).HeaderText("ColG");
column.Add(p => p.ColH).HeaderText("ColH");
column.Add(p => p.ColI).HeaderText("ColI");
column.Add(p => p.ColJ).HeaderText("ColJ");
column.Add(p => p.ColK).HeaderText("ColK");
}) %>

Any idea why this is taking so long? I've profiled it, and it is definitely taking nearly all the time inside your code.

-- bab

Balaji M [Syncfusion]
Replied On September 14, 2009 07:55 PM UTC

Hi Brian,

Thank you for your interest in syncfusion products.

we would suggest you to use OnDamand feature in MVC Grid to get better performance.

In order to enable OnDemand use the following two properties,

1. EnableOnDemand - Get or Set OnDemand paging/sorting.
2. IsGrouped property in PagingParams - Indicates the grouping state in Grid.

Please refer the below code snippet to achieve onDamand

public ActionResult Index()
GridPropertiesModel model = new GridPropertiesModel
DataSource = new context().Voters.Skip(0).Take(29000).ToList(),
AutoFormat = Syncfusion.Mvc.Shared.Skins.Office2007Silver,
TotalRecordsCount = 29000,
Caption = "Voter Information",
PrimaryKeyColumns = { "VoterId" }

ViewData["GridModel"] = model;
return View();

public ActionResult PagingAction(PagingParams args)
IEnumerable data = new context().Voters.Skip(args.StartIndex).Take(args.PageSize).AsQueryable();
ActionResult result = data.GridActions();
return result;

Please refer the sample from the below link.


Please follow up the Direct-Trac incident#60054for more further.

Please let me know if you have any concerns

M. Balaji


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon