Grid control databinding very slow

Hi,

Since we have upgraded from v.18.1.36-beta to v.18.1.42, the grid databinding is very very slow comparing the previous version. We bind the grid on DTO objects. Our datasource is EF.Core. 

The first load is very very slow. After that, the grid have nearly normal response time when navigating between pages. But if I go to the last page et go back to the first, it is very slow again.

Can you help us?

Kind regards



5 Replies

VN Vignesh Natarajan Syncfusion Team April 2, 2020 05:47 AM UTC

Hi Jean-Yves, 
 
Greetings from Syncfusion support.  
 
Query: “The first load is very very slow. && But if I go to the last page et go back to the first, it is very slow again. 
 
As per suggestion we have upgraded our sample to 18.1.0.42 version. We are not able to reproduce the reported issues at our end. Kindly download the sample from below  
 
 
Note: to run the sample, change connectionstring of database in OrderContext.cs file.  
 
If you are still facing the issue, kindly get back to us with the following details.   
 
  1. Share the Grid code example and also share the data source count.
  2. Share the details about the number of records per page.
  3. Is there any delay in getting your data from database?
  4. If possible try to reproduce the reported issue in provided sample along with replication procedure.
 
Requested detail will be helpful for us to validate the reported issue at our end and provide the solution as soon as possible.  
 
Regards, 
Vignesh Natarajan. 



JC Jean-Yves Ceunen April 2, 2020 07:41 AM UTC

Hi,

We found the problem. If you add a GridCommandColumns to your sample, you will be able to reproduce the problem. Only with v.18.1.42 (no problem with v.18.1.36-beta):

<SfGrid TValue="Order" @ref="GridName" DataSource="@_dataSource" AllowPaging="true" AllowSorting="true">
    <GridColumns>
        <GridColumn HeaderText="Edit" Width="110" AllowFiltering="false" AllowSorting="false">
            <GridCommandColumns>
                <GridCommandColumn Type="CommandButtonType.Edit" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-edit", CssClass = "e-flat" })">
                    <GridFilterSettings ShowFilterBarStatus="false"></GridFilterSettings>
                </GridCommandColumn>
                <GridCommandColumn Type="CommandButtonType.Delete" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-delete", CssClass = "e-flat" })"></GridCommandColumn>
            </GridCommandColumns>
        </GridColumn>
        <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>
        <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>
        <GridColumn Field=@nameof(Order.EmployeeID) HeaderText="Freight" TextAlign="TextAlign.Right" Width="120"></GridColumn>
    </GridColumns>
</SfGrid>
 In attachment, the project with the issue
           Can you please fix this problem.

           Thanks in advance.

           Kind regards   


Attachment: EFGrid690939477GridCommandBug_64a6f3da.zip


VN Vignesh Natarajan Syncfusion Team April 3, 2020 11:40 AM UTC

Hi Jean-Yves, 
 
Thanks for sharing the modified sample. 
 
We are able to reproduce the reported issue in the provided sample. The reported issue only when we refer the scripts externally (_Host.cshtml file). Now we have modified the sample to refer only CSS file. Please refer the below code for the modified we have done in the sample.  
 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
    <title>EFGrid</title> 
    <base rel='nofollow' href="~/" /> 
    <link rel="stylesheet" rel='nofollow' href="css/bootstrap/bootstrap.min.css" /> 
    <link rel='nofollow' href="css/site.css" rel="stylesheet" /> 
    <link rel='nofollow' href="https://cdn.syncfusion.com/blazor/18.1.42/styles/bootstrap4.css" rel="stylesheet" /> 
 </head> 
……..  
[startup.cs] 
 
public void ConfigureServices(IServiceCollection services)      {          services.AddRazorPages();          services.AddServerSideBlazor();          services.AddSyncfusionBlazor();          services.AddSingleton<WeatherForecastService>();          services.AddSingleton<OrderDataAccessLayer>();       }
 
 
Note: And also you have defined the GridFilterSettings inside the GridCommandColumn tag. Kindly remove the code and place it under the SfGrid tag. Refer the below modified code. 
 
<SfGrid TValue="Order" @ref="GridName" DataSource="@_dataSource" AllowPaging="true" AllowSorting="true">        <GridFilterSettings ShowFilterBarStatus="false"></GridFilterSettings>        <GridColumns>            <GridColumn HeaderText="Edit" Width="110" AllowFiltering="false" AllowSorting="false">                <GridCommandColumns>                    <GridCommandColumn Type="CommandButtonType.Edit" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-edit", CssClass = "e-flat" })">                    </GridCommandColumn>                    <GridCommandColumn Type="CommandButtonType.Delete" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-delete", CssClass = "e-flat" })"></GridCommandColumn>                </GridCommandColumns>            </GridColumn>            <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>            <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>            <GridColumn Field=@nameof(Order.EmployeeID) HeaderText="Freight" TextAlign="TextAlign.Right" Width="120"></GridColumn>        </GridColumns>    </SfGrid>
 
 
Please find the modified sample from below.  
 
 
Kindly get back to us if you are still facing the issue.     
 
Regards, 
Vignesh Natarajan 



JC Jean-Yves Ceunen April 3, 2020 12:11 PM UTC

Hi,

The problem is solved.

Thank you!

Kind regards,

Jean-Yves


VN Vignesh Natarajan Syncfusion Team April 6, 2020 03:35 AM UTC

Hi Jean-Yves,  

Thanks for the update.  

We are glad to hear you have resolved your issue using our solution.  

Kindly get back to us if you have further queries. 

Regards, 
Vignesh Natarajan 


Loader.
Up arrow icon