2016-09-12 1 views
1

가 나는 PrimeNG의 DataTable에 Cell 객체의 배열을 바인딩 해요 :Angular2 + PrimeNG - 기본 데이터가 변경 될 때 dataTable을 재설정하는 방법은 무엇입니까?

.html 중에서

<p-dataTable [value]="_cells" [responsive]="true" [globalFilter]="gb"> 
     <p-column field="id" header="id" sortable="true"></p-column> 
     <p-column field="name" header="name" sortable="true" ></p-column>   
    </p-dataTable> 

.TS을 :

ngOnInit() { 
     var self = this; 
     // Capture the id in the URL 
     this._route.params.subscribe(params => { 
      self._stationId= params['id']; 

      this._dataService 
       .GetAllCells(self._stationId) 
       .subscribe((data:Cell[]) => this._cells = data, 
        error => alert(error), 
        () => console.log('Retrieved cells')); 
     }); 
    } 

그래서 나는 데이터 테이블은 reset() 방법을했다 발견 정렬/필터링/선택 상태를 지울 수 있습니다. URL 매개 변수가 변경되고 새 데이터가로드 될 때마다 호출해야합니다.

그러나 dataTable을 참조하고 메서드 내에서 reset() 메서드를 호출하려면 어떻게해야합니까?

답변

8

당신은 @ViewChild 주석 활용할 수 :

export class MyComponent implements OnInit { 
    @ViewChild(DataTable) dataTableComponent: DataTable; 

    // ... 

    ngOnInit() { 
     this.dataTableComponent.reset(); 
    } 
} 
+0

'수입 {DataTable을} '데이터 테이블 데이터 테이블 primeng/구성 요소//'에서를,' 나중에 내게 감사드립니다. – Arun

+1

이것은 작동하지만 필터와 그 밖의 모든 것을 지우는 것처럼 보인다. – slashp