Hello,
I am using on-demand grid actions to display my data from Database with around 600 rows so that it would only load the current page for better performance. But in my case, this method is taking too long(around 7-10seconds to view the next page and even longer to initially go into the view)
code snip below is my view
below is my controller
What could possibly be slowing down the server response time here?
Hi William,
Greetings from Syncfusion support
Based on your reported problem we have prepared a sample and tried to reproduce your reported problem at our end, but it was unsuccessful. The Grid was working with Good performance. Please refer the below code example and sample for more information.
|
Index.cshtml
<ejs-grid id="Grid" allowPaging="true" allowFiltering="true" toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Update", "Cancel" })"> <e-grid-filterSettings type="Menu"></e-grid-filterSettings> <e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Normal" showConfirmDialog="true" showDeleteConfirmDialog="true"></e-grid-editSettings> <e-data-manager url="/Home/TelecomDataSource" insertUrl="/Home/Insert" updateUrl="/Home/Update" removeUrl="/Home/Delete" adaptor="UrlAdaptor"></e-data-manager> <e-grid-columns> <e-grid-column field="ShipCity" headerText="ShipCity" width="120"></e-grid-column> <e-grid-column field="CustomerID" headerText="Customer ID" width="120"> </e-grid-column> <e-grid-column field="OrderID" headerText="Order ID" isPrimaryKey="true" textAlign="Right" width="100"></e-grid-column> <e-grid-column field="EmployeeID" headerText="EmployeeID" textAlign="Right" width="120"></e-grid-column> </e-grid-columns> </ejs-grid>
|
|
HomeController.cs
public ActionResult TelecomDataSource([FromBody]DataManagerRequest dataManager) { IEnumerable data = _context.Orders.ToList(); DataOperations operation = new DataOperations(); if (dataManager.Search != null && dataManager.Search.Count > 0) { data = operation.PerformSearching(data, dataManager.Search); //Search } if (dataManager.Sorted != null && dataManager.Sorted.Count > 0) //Sorting { data = operation.PerformSorting(data, dataManager.Sorted); } if (dataManager.Where != null && dataManager.Where.Count > 0) { data = operation.PerformFiltering(data, dataManager.Where, dataManager.Where[0].Operator); //Filtering } int count = data.Cast<Orders>().Count(); if (dataManager.Skip != 0) { data = operation.PerformSkip(data, dataManager.Skip); } if (dataManager.Take != 0) { data = operation.PerformTake(data, dataManager.Take); } return dataManager.RequiresCounts ? Json(new { result = data, count = count }) : Json(data); }
|
Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/sample-1562610324.zip
If you still face the issue, please share the below details that will be helpful for us to validate the problem.
1) Please share your exact requirement with detailed description.
2) Please share any simple issue reproducible sample and or try to reproduce the issue with our above attached sample.
3) Share the issue scenario in video demonstration format.
4) Share your syncfusion package version.
Regards,
Rajapandi R