1
+ <div class =" mb-3" >
2
+ <Button Type =" ButtonType.Button" Color =" ButtonColor.Primary" Size =" ButtonSize.Small" @onclick =" SelectAllEmployees" >Select All</Button >
3
+ <Button Type =" ButtonType.Button" Color =" ButtonColor.Primary" Size =" ButtonSize.Small" @onclick =" UnselectAllEmployees" >Unselect All</Button >
4
+ </div >
5
+
6
+ <Grid @ref =" gridRef" TItem =" Employee1"
7
+ Class =" table table-hover table-bordered"
8
+ DataProvider =" EmployeesDataProvider"
9
+ AllowFiltering =" true"
10
+ AllowSelection =" true"
11
+ SelectionMode =" GridSelectionMode.Multiple"
12
+ SelectedItemsChanged =" OnSelectedItemsChanged"
13
+ Responsive =" true" >
14
+
15
+ <GridColumns >
16
+ <GridColumn TItem =" Employee1" HeaderText =" Id" PropertyName =" Id" >
17
+ @context.Id
18
+ </GridColumn >
19
+ <GridColumn TItem =" Employee1" HeaderText =" Employee Name" PropertyName =" Name" >
20
+ @context.Name
21
+ </GridColumn >
22
+ <GridColumn TItem =" Employee1" HeaderText =" Designation" PropertyName =" Designation" >
23
+ @context.Designation
24
+ </GridColumn >
25
+ <GridColumn TItem =" Employee1" HeaderText =" DOJ" PropertyName =" DOJ" >
26
+ @context.DOJ
27
+ </GridColumn >
28
+ <GridColumn TItem =" Employee1" HeaderText =" Active" PropertyName =" IsActive" >
29
+ @context.IsActive
30
+ </GridColumn >
31
+ </GridColumns >
32
+
33
+ </Grid >
34
+
35
+ <div class =" mt-3" >
36
+ Selected Items Count: @selectedEmployees.Count
37
+ </div >
38
+
39
+ <div class =" mt-2" >
40
+ Selected Employees:
41
+ <ul >
42
+ @foreach ( var emp in selectedEmployees )
43
+ {
44
+ <li >@emp.Name </li >
45
+ }
46
+ </ul >
47
+ </div >
48
+
49
+ @code {
50
+ private Grid <Employee1 > gridRef ;
51
+ private IEnumerable <Employee1 > employees = default ! ;
52
+
53
+ private HashSet <Employee1 > selectedEmployees = new ();
54
+
55
+ private async Task <GridDataProviderResult <Employee1 >> EmployeesDataProvider (GridDataProviderRequest < Employee1 > request )
56
+ {
57
+ Console .WriteLine (" EmployeesDataProvider called..." );
58
+
59
+ if (employees is null ) // pull employees only one time for client-side filtering, sorting, and paging
60
+ employees = GetEmployees (); // call a service or an API to pull the employees
61
+
62
+ return await Task .FromResult (request .ApplyTo (employees ));
63
+ }
64
+
65
+ private IEnumerable <Employee1 > GetEmployees ()
66
+ {
67
+ return new List <Employee1 >
68
+ {
69
+ new Employee1 { Id = 107 , Name = " Alice" , Designation = " AI Engineer" , DOJ = new DateOnly (1998 , 11 , 17 ), IsActive = true },
70
+ new Employee1 { Id = 103 , Name = " Bob" , Designation = " Senior DevOps Engineer" , DOJ = new DateOnly (1985 , 1 , 5 ), IsActive = true },
71
+ new Employee1 { Id = 106 , Name = " John" , Designation = " Data Engineer" , DOJ = new DateOnly (1995 , 4 , 17 ), IsActive = true },
72
+ new Employee1 { Id = 104 , Name = " Pop" , Designation = " Associate Architect" , DOJ = new DateOnly (1985 , 6 , 8 ), IsActive = false },
73
+ new Employee1 { Id = 105 , Name = " Ronald" , Designation = " Senior Data Engineer" , DOJ = new DateOnly (1991 , 8 , 23 ), IsActive = true },
74
+ new Employee1 { Id = 102 , Name = " Line" , Designation = " Architect" , DOJ = new DateOnly (1977 , 1 , 12 ), IsActive = true },
75
+ new Employee1 { Id = 101 , Name = " Daniel" , Designation = " Architect" , DOJ = new DateOnly (1977 , 1 , 12 ), IsActive = true },
76
+ new Employee1 { Id = 108 , Name = " Zayne" , Designation = " Data Analyst" , DOJ = new DateOnly (1991 , 1 , 1 ), IsActive = true },
77
+ new Employee1 { Id = 109 , Name = " Isha" , Designation = " App Maker" , DOJ = new DateOnly (1996 , 7 , 1 ), IsActive = true },
78
+ };
79
+ }
80
+
81
+ private Task OnSelectedItemsChanged (HashSet < Employee1 > employees )
82
+ {
83
+ selectedEmployees = employees is not null && employees .Any () ? employees : new ();
84
+ return Task .CompletedTask ;
85
+ }
86
+
87
+ private Task SelectAllEmployees () => gridRef .SelectAllItemsAsync ();
88
+
89
+ private Task UnselectAllEmployees () => gridRef .UnSelectAllItemsAsync ();
90
+ }
0 commit comments