Remote Data Binding Very Slow

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?


1 Reply

RR Rajapandi Ravi Syncfusion Team September 15, 2022 01:11 PM UTC

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


Loader.
Up arrow icon