@@ -59,24 +59,24 @@ <h3>CdkTable Example</h3>
59
59
</ div >
60
60
61
61
< cdk-table #table matSort
62
- [dataSource] ="dataSource "
63
- [trackBy] ="userTrackBy ">
62
+ [dataSource] ="dataSource "
63
+ [trackBy] ="userTrackBy ">
64
64
65
65
<!-- Column Definition: ID -->
66
66
< ng-container cdkColumnDef ="userId ">
67
67
< cdk-header-cell *cdkHeaderCellDef
68
68
mat-sort-header arrowPosition ="before ">
69
- ID
70
- </ cdk-header-cell >
69
+ ID
70
+ </ cdk-header-cell >
71
71
< cdk-cell *cdkCellDef ="let row "> {{row.id}} </ cdk-cell >
72
72
</ ng-container >
73
73
74
74
<!-- Column Definition: Progress -->
75
75
< ng-container cdkColumnDef ="progress ">
76
76
< cdk-header-cell *cdkHeaderCellDef
77
- mat-sort-header start ="desc ">
78
- Progress
79
- </ cdk-header-cell >
77
+ mat-sort-header start ="desc ">
78
+ Progress
79
+ </ cdk-header-cell >
80
80
< cdk-cell *cdkCellDef ="let row ">
81
81
< div class ="demo-progress-stat "> {{row.progress}}%</ div >
82
82
< div class ="demo-progress-indicator-container ">
@@ -91,30 +91,30 @@ <h3>CdkTable Example</h3>
91
91
<!-- Column Definition: Name -->
92
92
< ng-container cdkColumnDef ="userName ">
93
93
< cdk-header-cell *cdkHeaderCellDef mat-sort-header >
94
- Name
95
- </ cdk-header-cell >
94
+ Name
95
+ </ cdk-header-cell >
96
96
< cdk-cell *cdkCellDef ="let row "> {{row.name}} </ cdk-cell >
97
97
</ ng-container >
98
98
99
99
<!-- Column Definition: Color -->
100
100
< ng-container cdkColumnDef ="color ">
101
101
< cdk-header-cell *cdkHeaderCellDef
102
- mat-sort-header disableClear >
103
- Color
104
- </ cdk-header-cell >
102
+ mat-sort-header disableClear >
103
+ Color
104
+ </ cdk-header-cell >
105
105
< cdk-cell *cdkCellDef ="let row " [style.color] ="row.color "> {{row.color}} </ cdk-cell >
106
106
</ ng-container >
107
107
108
108
< cdk-header-row *cdkHeaderRowDef ="displayedColumns "> </ cdk-header-row >
109
109
< cdk-row *cdkRowDef ="let row; columns: displayedColumns;
110
110
let first = first; let last = last; let even = even; let odd = odd "
111
- [ngClass] ="{
111
+ [ngClass] ="{
112
112
'demo-row-highlight-first': highlights.has('first') && first,
113
113
'demo-row-highlight-last': highlights.has('last') && last,
114
114
'demo-row-highlight-even': highlights.has('even') && even,
115
115
'demo-row-highlight-odd': highlights.has('odd') && odd
116
116
} ">
117
- </ cdk-row >
117
+ </ cdk-row >
118
118
</ cdk-table >
119
119
</ mat-card >
120
120
@@ -168,7 +168,7 @@ <h3>MatTable Example</h3>
168
168
< mat-paginator #paginator
169
169
[length] ="_peopleDatabase.data.length "
170
170
[pageSize] ="10 "
171
- [pageSizeOptions] ="[5, 10, 25, 100] ">
171
+ [pageSizeOptions] ="[5, 10, 25, 100] ">
172
172
</ mat-paginator >
173
173
</ div >
174
174
@@ -200,13 +200,71 @@ <h3> MatTable Using 'When' Rows for Interactive Details</h3>
200
200
201
201
< mat-header-row *matHeaderRowDef ="['userId', 'userName'] "> </ mat-header-row >
202
202
< mat-row *matRowDef ="let row; columns: ['userId', 'userName']; "
203
- matRipple
204
- class ="user-row "
205
- [style.borderBottomColor] ="expandedPerson == row ? 'transparent' : '' "
206
- (click) ="expandedPerson = row; wasExpanded.add(row) "> </ mat-row >
203
+ matRipple
204
+ class ="user-row "
205
+ [style.borderBottomColor] ="expandedPerson == row ? 'transparent' : '' "
206
+ (click) ="expandedPerson = row; wasExpanded.add(row) "> </ mat-row >
207
207
< mat-row *matRowDef ="let row; columns: ['details']; when: isDetailRow "
208
- [@detailExpand] ="row.data == expandedPerson ? 'expanded' : 'collapsed' "
209
- style ="overflow: hidden ">
208
+ [@detailExpand] ="row.data == expandedPerson ? 'expanded' : 'collapsed' "
209
+ style ="overflow: hidden ">
210
210
</ mat-row >
211
211
</ mat-table >
212
- </ mat-card >
212
+ </ mat-card >
213
+
214
+ < h3 > MatTable With MatTableDataSource Example</ h3 >
215
+
216
+ < mat-form-field >
217
+ < input matInput [formControl] ="filter ">
218
+ </ mat-form-field >
219
+
220
+ < div class ="demo-table-container demo-mat-table-example mat-elevation-z4 ">
221
+
222
+ < table-header-demo (shiftColumns) ="displayedColumns.push(displayedColumns.shift()) "
223
+ (toggleColorColumn) ="toggleColorColumn() ">
224
+ </ table-header-demo >
225
+
226
+ < mat-table [dataSource] ="matTableDataSource " [trackBy] ="userTrackBy " matSort
227
+ #sortForDataSource ="matSort ">
228
+
229
+ <!-- Column Definition: ID -->
230
+ < ng-container cdkColumnDef ="userId ">
231
+ < mat-header-cell *matHeaderCellDef mat-sort-header > ID </ mat-header-cell >
232
+ < mat-cell *matCellDef ="let row "> {{row.id}} </ mat-cell >
233
+ </ ng-container >
234
+
235
+ <!-- Column Definition: Progress -->
236
+ < ng-container matColumnDef ="progress ">
237
+ < mat-header-cell *matHeaderCellDef mat-sort-header > Progress </ mat-header-cell >
238
+ < mat-cell *matCellDef ="let row ">
239
+ < div class ="demo-progress-stat "> {{row.progress}}%</ div >
240
+ < div class ="demo-progress-indicator-container ">
241
+ < div class ="demo-progress-indicator "
242
+ [style.background] ="row.progress > 50 ? 'green' : 'red' "
243
+ [style.opacity] ="getOpacity(row.progress) "
244
+ [style.width.%] ="row.progress "> </ div >
245
+ </ div >
246
+ </ mat-cell >
247
+ </ ng-container >
248
+
249
+ <!-- Column Definition: Name -->
250
+ < ng-container matColumnDef ="userName ">
251
+ < mat-header-cell *matHeaderCellDef mat-sort-header > Name </ mat-header-cell >
252
+ < mat-cell *matCellDef ="let row "> {{row.name}} </ mat-cell >
253
+ </ ng-container >
254
+
255
+ <!-- Column Definition: Color -->
256
+ < ng-container matColumnDef ="color ">
257
+ < mat-header-cell *matHeaderCellDef mat-sort-header > Color</ mat-header-cell >
258
+ < mat-cell *matCellDef ="let row " [style.color] ="row.color "> {{row.color}} </ mat-cell >
259
+ </ ng-container >
260
+
261
+ < mat-header-row *matHeaderRowDef ="displayedColumns "> </ mat-header-row >
262
+ < mat-row *matRowDef ="let row; columns: displayedColumns "> </ mat-row >
263
+
264
+ </ mat-table >
265
+
266
+ < mat-paginator #paginatorForDataSource
267
+ [length] ="_peopleDatabase.data.length "
268
+ [pageSizeOptions] ="[10, 25, 100] ">
269
+ </ mat-paginator >
270
+ </ div >
0 commit comments