Any tips to maximize performance of filtering larger data sets? In my testing I am experiencing lag when filtering (gif available at https://raw.githubusercontent.com/austineric/Misc/master/Demo.gif).
In the gif example:
- GridDataSource is IEnumerable<TechnicanDataEntryExtension>
- GridDataSource holds 500,000 records
- I am typing the word "hearing"
- I am running the the app locally from visual studio so web server latency isn't involved, I would expect lag to be worse there
<TelerikGrid Data=
"@GridDataSource"
OnUpdate=
"@UpdateHandler"
OnDelete=
"@DeleteHandler"
Class=
"cst-grid"
FilterMode=
"@GridFilterMode.FilterRow"
EditMode=
"@GridEditMode.Inline"
Sortable=
"true"
SelectionMode=
"@GridSelectionMode.Single"
Pageable=
"true"
PageSize=
"10"
>
<GridColumns>
<GridCommandColumn Width=
"120px;"
>
<GridCommandButton Command=
"Edit"
Class=
"cst-grid-command-button"
>Edit</GridCommandButton>
<GridCommandButton Command=
"Save"
ShowInEdit=
"true"
Class=
"cst-grid-command-button"
>Save</GridCommandButton>
<GridCommandButton Command=
"Cancel"
ShowInEdit=
"true"
Class=
"cst-grid-command-button"
>Cancel</GridCommandButton>
<GridCommandButton Command=
"Delete"
Class=
"cst-grid-command-button"
>Delete</GridCommandButton>
</GridCommandColumn>
<GridColumn Field=
"@nameof(GridModel.RowID)"
Editable=
"false"
Width=
"0"
/>
<GridColumn Field=
"@nameof(GridModel.EntryDate)"
Title=
"Entry Date"
Editable=
"false"
/>
<GridColumn Field=
"@nameof(GridModel.UserID)"
Editable=
"false"
Width=
"0"
/>
<GridColumn Field=
"@nameof(GridModel.Username)"
Editable=
"false"
/>
<GridColumn Field=
"@nameof(GridModel.Category)"
>
<EditorTemplate>
@{
CurrentlyEditedRow = (TechnicianDataEntryExtension)context;
<select
class
=
"form-control"
@bind=
"@CurrentlyEditedRow.Category"
>
@{
foreach
(Categories Category
in
CategoryDropdownDataSource)
{
if
(CurrentlyEditedRow.Category == Category.Category)
{
<option value=
"@Category.Category"
selected=
"selected"
>@Category.Category</option>
}
else
{
<option value=
"@Category.Category"
>@Category.Category</option>
}
}
}
</select>
}
</EditorTemplate>
</GridColumn>
<GridColumn Field=
"@nameof(GridModel.SerialNumber)"
>
<EditorTemplate>
@{
CurrentlyEditedRow = (TechnicianDataEntryExtension)context;
<input
class
=
"form-control"
@bind-value=
"CurrentlyEditedRow.SerialNumber"
maxlength=
"10"
/>
}
</EditorTemplate>
</GridColumn>
</GridColumns>
</TelerikGrid>
I can implement workarounds to decrease the number of records in the grid but in the event where I need to give it larger numbers of records are there any best practices or recommendations to minimize filter lag?