Skip to content

Commit bac4da8

Browse files
author
Raj Kumar Sri Ramulu
committed
Updated the example to validate the change
1 parent 78f0cb1 commit bac4da8

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

BlazorBootstrap.Demo.RCL/Components/Pages/Grid/01-Overview/Grid_Demo_01_Client_Side_Filtering_Paging_And_Sorting.razor

+35-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<Grid TItem="Employee1"
2+
@ref="grid"
23
Class="table table-hover table-bordered table-striped"
34
DataProvider="EmployeesDataProvider"
45
AllowFiltering="true"
@@ -29,6 +30,8 @@
2930
</GridColumns>
3031

3132
</Grid>
33+
<Button Type="ButtonType.Button" Color="ButtonColor.Primary" @onclick="AddEmployee"> Add Employee </Button>
34+
<Button Type="ButtonType.Button" Color="ButtonColor.Danger" @onclick="RemoveEmployee"> Remove Employee </Button>
3235

3336
<div class="mt-3">
3437
Selected Items Count: @selectedEmployees.Count
@@ -45,7 +48,8 @@
4548
</div>
4649

4750
@code {
48-
private IEnumerable<Employee1> employees = default!;
51+
Grid<Employee1> grid = default!;
52+
private List<Employee1>? employees = default!;
4953

5054
private HashSet<Employee1> selectedEmployees = new();
5155

@@ -57,7 +61,7 @@
5761
return await Task.FromResult(request.ApplyTo(employees));
5862
}
5963

60-
private IEnumerable<Employee1> GetEmployees()
64+
private List<Employee1> GetEmployees()
6165
{
6266
return new List<Employee1>
6367
{
@@ -76,6 +80,35 @@
7680
};
7781
}
7882

83+
private async Task AddEmployee()
84+
{
85+
// for the same employees collection, we are adding an object
86+
// explicit grid refresh required
87+
employees!.Add(CreateEmployee());
88+
await grid.RefreshDataAsync();
89+
}
90+
91+
private Employee1 CreateEmployee()
92+
{
93+
var emp = new Employee1();
94+
emp.Id = employees!.Max(x => x.Id) + 1;
95+
emp.Name = $"Employee {emp.Id}";
96+
emp.Designation = $"QA Engineer {emp.Id}";
97+
emp.DOJ = new DateOnly(new Random().Next(1970, 2000), new Random().Next(1, 12), new Random().Next(1, 25));
98+
emp.IsActive = true;
99+
return emp;
100+
}
101+
102+
103+
private async Task RemoveEmployee()
104+
{
105+
if (employees!.Count > 0)
106+
employees!.Remove(employees.Last());
107+
108+
await grid.RefreshDataAsync();
109+
}
110+
111+
79112
private Task OnSelectedItemsChanged(HashSet<Employee1> employees)
80113
{
81114
selectedEmployees = employees is not null && employees.Any() ? employees : new();

0 commit comments

Comments
 (0)