Angular PrimeNG TreeTable Methods
Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. It provides a lot of templates, components, theme design, an extensive icon library, and much more. In this article, we will see the Angular PrimeNG TreeTable Methods.
TreeTable is used to display hierarchical data in tabular format. The Methods are used to operate on the TreeTable and display data in a useful form.
Angular PrimeNG TreeTable Methods:
- reset(): It clears the sort and paginator state.
Syntax:
this.table.reset();
Creating Angular application & Module Installation:
Step 1: Create an Angular application using the following command.
ng new Beginner_angular
Step 2: After creating your project folder i.e. Beginner_angular, move to it using the following command.
cd Beginner_angular
Step 3: Install PrimeNG in your given directory.
npm install primeng --save npm install primeicons --save
Project Structure: The project Structure will look like the following after completing the above steps:
Project Structure
Example 1: In the below example, we have a TreeTable with the reset button in Angular PrimeNG.
app.component.html
< h1 style = "color: green; text-align:center;" >w3wiki</ h1 > < h3 >Angular PrimeNG TreeTable Methods</ h3 > < p-treeTable #treeTable [value]="tableData" [columns]="cols"> < ng-template pTemplate = "header" let-columns> < tr > < th * ngFor = "let col of columns" [ttSortableColumn]="col.field"> {{ col.header }} < p-treeTableSortIcon [field]="col.field"> </ p-treeTableSortIcon > </ th > </ tr > </ ng-template > < ng-template pTemplate = "body" let-rowNode let-rowData = "rowData" let-columns = "columns" > < tr > < td * ngFor = "let col of columns; let i = index" > < p-treeTableToggler [rowNode]="rowNode" * ngIf = "i == 0" > </ p-treeTableToggler > {{ rowData[col.field] }} </ td > </ tr > </ ng-template > </ p-treeTable > < p-button label = "Reset It!" (onClick)="handleClick()"> </ p-button > |
app.component.ts
import { Component, OnInit, ViewChild } from '@angular/core' ; import { NodeService } from './nodeservice' ; import { TreeNode } from 'primeng/api' ; import { TreeTable } from 'primeng/treetable' ; @Component({ selector: 'app-root' , templateUrl: './app.component.html' , }) export class AppComponent { tableData: TreeNode[]; cols: any[]; @ViewChild( 'treeTable' ) table: TreeTable; constructor(private nodeService: NodeService) { } handleClick() { this .table.reset(); } ngOnInit() { this .cols = [ { field: 'name' , header: 'First Name' }, { field: 'age' , header: 'Age' }, ]; this .tableData = [ { data: { name: 'A' , age: '40' , }, children: [ { data: { name: 'B' , age: '16' , }, }, { data: { name: 'C' , age: '14' , }, }, ], }, { data: { name: 'D' , age: '55' , }, children: [ { data: { name: 'E' , age: '20' , }, }, { data: { name: 'F' , age: '24' , }, }, ], }, { data: { name: 'G' , age: '32' , }, children: [ { data: { name: 'H' , age: '20' , }, }, { data: { name: 'I' , age: '24' , }, }, ], }, { data: { name: 'J' , age: '64' , }, children: [ { data: { name: 'K' , age: '20' , }, }, { data: { name: 'L' , age: '24' , }, }, ], }, { data: { name: 'M' , age: '12' , }, children: [ { data: { name: 'N' , age: '20' , }, }, { data: { name: 'O' , age: '24' , }, }, ], }, { data: { name: 'P' , age: '34' , }, children: [ { data: { name: 'Q' , age: '20' , }, }, { data: { name: 'R' , age: '24' , }, }, ], }, { data: { name: 'S' , age: '43' , }, children: [ { data: { name: 'T' , age: '20' , }, }, { data: { name: 'U' , age: '24' , }, }, ], }, ]; } } |
app.module.ts
import { NgModule } from '@angular/core' ; import { BrowserModule } from '@angular/platform-browser' ; import { FormsModule } from '@angular/forms' ; import { HttpClientModule } from '@angular/common/http' ; import { BrowserAnimationsModule } from '@angular/platform-browser/animations' ; import { AppComponent } from './app.component' ; import { NodeService } from './nodeservice' ; import { TreeTableModule } from 'primeng/treetable' ; import { ButtonModule } from 'primeng/button' ; import { InputTextModule } from 'primeng/inputtext' ; @NgModule({ imports: [ BrowserModule, BrowserAnimationsModule, TreeTableModule, ButtonModule, InputTextModule, HttpClientModule, FormsModule, ], declarations: [AppComponent], bootstrap: [AppComponent], providers: [NodeService], }) export class AppModule { } |
Output:
Example 2: In the following example, we clear the filtering state using the reset button in Angular PrimeNG.
app.component.html
< h1 style="color: green; text-align:center;"> w3wiki </ h1 > < h3 >Angular PrimeNG TreeTable Methods</ h3 > < p-treeTable #tt [value]="tableData" [columns]="cols"> < ng-template pTemplate = "caption" > < div style = "text-align: right" > < i class = "pi pi-search" style = "margin:4px 4px 0 0" ></ i > < input type = "text" pInputText size = "50" placeholder = "Global Filter" (input)= "tt.filterGlobal($event.target.value, 'contains')" style = "width:auto" /> </ div > </ ng-template > < ng-template pTemplate = "header" let-columns> < tr > < th * ngFor = "let col of cols" > {{ col.header }} </ th > </ tr > < tr ></ tr > </ ng-template > < ng-template pTemplate = "body" let-rowNode let-rowData = "rowData" > < tr > < td * ngFor = "let col of cols; let i = index" > < p-treeTableToggler [rowNode]="rowNode" * ngIf = "i == 0" > </ p-treeTableToggler > {{ rowData[col.field] }} </ td > </ tr > </ ng-template > </ p-treeTable > < p-button label = "Reset It!" (onClick)="handleClick()"> </ p-button > |
app.component.ts
import { Component, OnInit, ViewChild } from '@angular/core' ; import { NodeService } from './nodeservice' ; import { FilterMatchMode, TreeNode } from 'primeng/api' ; import { TreeTable } from 'primeng/treetable' ; @Component({ selector: 'app-root' , templateUrl: './app.component.html' , }) export class AppComponent { tableData: TreeNode[]; cols: any[]; @ViewChild( 'tt' ) table: TreeTable; constructor(private nodeService: NodeService) { } ngOnInit() { this .cols = [ { field: 'name' , header: 'First Name' }, { field: 'age' , header: 'Age' }, ]; this .tableData = [ { data: { name: 'A' , age: '40' , }, children: [ { data: { name: 'B' , age: '16' , }, }, { data: { name: 'C' , age: '14' , }, }, ], }, { data: { name: 'D' , age: '55' , }, children: [ { data: { name: 'E' , age: '20' , }, }, { data: { name: 'F' , age: '24' , }, }, ], }, { data: { name: 'G' , age: '32' , }, children: [ { data: { name: 'H' , age: '20' , }, }, { data: { name: 'I' , age: '24' , }, }, ], }, { data: { name: 'J' , age: '64' , }, children: [ { data: { name: 'K' , age: '20' , }, }, { data: { name: 'L' , age: '24' , }, }, ], }, { data: { name: 'M' , age: '12' , }, children: [ { data: { name: 'N' , age: '20' , }, }, { data: { name: 'O' , age: '24' , }, }, ], }, { data: { name: 'P' , age: '34' , }, children: [ { data: { name: 'Q' , age: '20' , }, }, { data: { name: 'R' , age: '24' , }, }, ], }, { data: { name: 'S' , age: '43' , }, children: [ { data: { name: 'T' , age: '20' , }, }, { data: { name: 'U' , age: '24' , }, }, ], }, ]; } handleClick() { this .table.reset(); this .table.filterGlobal( '' , FilterMatchMode.CONTAINS); } } |
app.modules.ts
import { NgModule } from '@angular/core' ; import { BrowserModule } from '@angular/platform-browser' ; import { FormsModule } from '@angular/forms' ; import { HttpClientModule } from '@angular/common/http' ; import { BrowserAnimationsModule } from '@angular/platform-browser/animations' ; import { AppComponent } from './app.component' ; import { NodeService } from './nodeservice' ; import { TreeTableModule } from 'primeng/treetable' ; import { ButtonModule } from 'primeng/button' ; import { InputTextModule } from 'primeng/inputtext' ; @NgModule({ imports: [ BrowserModule, BrowserAnimationsModule, TreeTableModule, ButtonModule, InputTextModule, HttpClientModule, FormsModule, ], declarations: [AppComponent], bootstrap: [AppComponent], providers: [NodeService], }) export class AppModule { } |
Output:
Reference: http://primefaces.org/primeng/treetable
Contact Us