Skip to content

Commit 4ba75c2

Browse files
dimodiDimo Dimov
and
Dimo Dimov
authored
Migrate Grid scrolling example to v3.0 (#160)
Co-authored-by: Dimo Dimov <dimo@Dimos-MacBook-Pro.local>
1 parent fa7ca83 commit 4ba75c2

File tree

4 files changed

+19
-21
lines changed

4 files changed

+19
-21
lines changed

grid/scroll-to-selected-row/scroll-to-selected-row/Pages/RegularPaging.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@
4646
{
4747
GridData = await DataService.GenerateData();
4848
}
49-
}
49+
}

grid/scroll-to-selected-row/scroll-to-selected-row/Pages/Virtualization.razor

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99

1010
<TelerikButton OnClick="@SelectItem">Select item 48</TelerikButton>
1111

12-
<TelerikGrid Data=@GridData
12+
<TelerikGrid @ref="@GridRef"
13+
TItem="@Employee"
14+
OnRead="@ReadItems"
1315
SelectionMode="GridSelectionMode.Single"
1416
@bind-SelectedItems="@SelectedItems"
17+
Sortable="true"
1518
ScrollMode="@GridScrollMode.Virtual"
1619
RowHeight="40"
1720
PageSize="@PageSize"
18-
@ref="@GridRef"
19-
TotalCount=@Total OnRead="@ReadItems"
20-
Height="300px"
21-
Sortable="true">
21+
Height="300px">
2222
<GridColumns>
2323
<GridColumn Field=@nameof(Employee.Name) />
2424
<GridColumn Field=@nameof(Employee.Team) Title="Team" />
@@ -27,9 +27,9 @@
2727

2828
@code {
2929
string theGridClass { get; set; } = "theSpecialGrid";
30-
TelerikGrid<Employee> GridRef { get; set; }
31-
int Total { get; set; }
32-
List<Employee> GridData { get; set; }
30+
TelerikGrid<Employee> GridRef { get; set; }
31+
int GridDataCount { get; set; }
32+
int AllDataCount { get; set; }
3333
int PageSize { get; set; } = 20;
3434
DataSourceRequest lastRequest { get; set; }
3535

@@ -70,19 +70,17 @@
7070
//this should actually be happening on the server, but for brevity we do it here
7171
//see more at https://github.com/telerik/blazor-ui/tree/master/grid/datasourcerequest-on-server
7272
var datasourceResult = AllData.ToDataSourceResult(args.Request);
73-
GridData = (datasourceResult.Data as IEnumerable<Employee>).ToList();
74-
Total = datasourceResult.Total;
73+
var data = (datasourceResult.Data as IEnumerable<Employee>).ToList();
74+
args.Data = data;
75+
args.Total = AllDataCount = datasourceResult.Total;
76+
GridDataCount = data.Count;
7577

76-
77-
// see more about why this is done here https://docs.telerik.com/blazor-ui/knowledge-base/grid-large-skip-breaks-virtualization
78+
// see more about why this is done here https://docs.telerik.com/blazor-ui/knowledge-base/grid-large-skip-breaks-virtualization
7879
int allowedSkip = ValidateSkip(args.Request.Skip);
7980
if (allowedSkip != args.Request.Skip)
8081
{
8182
await SetSkip(allowedSkip);
8283
}
83-
84-
85-
await InvokeAsync(StateHasChanged);
8684
}
8785

8886
async Task SetSkip(int skip)
@@ -108,8 +106,8 @@
108106
{
109107
if (desiredSkip < 0) return 0;
110108
int itemsThatFitPerPage = 7; // see how the grid renders and determine this from there
111-
bool isInvalidSkip = GridData.Count < itemsThatFitPerPage;
112-
return isInvalidSkip ? Total - itemsThatFitPerPage : desiredSkip;
109+
bool isInvalidSkip = GridDataCount < itemsThatFitPerPage;
110+
return isInvalidSkip ? AllDataCount - itemsThatFitPerPage : desiredSkip;
113111
}
114112

115113
// data generation follows
@@ -120,4 +118,4 @@
120118
{
121119
AllData = await DataService.GenerateData();
122120
}
123-
}
121+
}

grid/scroll-to-selected-row/scroll-to-selected-row/Services/GridDataService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class GridDataService
1111
public async Task<List<Employee>> GenerateData()
1212
{
1313
List<Employee> data = new List<Employee>();
14-
for (int i = 0; i < 55; i++)
14+
for (int i = 1; i <= 100; i++)
1515
{
1616
data.Add(new Employee()
1717
{

grid/scroll-to-selected-row/scroll-to-selected-row/scroll_to_selected_row.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Telerik.UI.for.Blazor" Version="2.26.0" />
8+
<PackageReference Include="Telerik.UI.for.Blazor" Version="3.0.1" />
99
</ItemGroup>
1010

1111
</Project>

0 commit comments

Comments
 (0)