2017-09-11 13 views
1

데이터 소스 기능이이 방식으로 작성되어이 같은ng2-ya-table에서 datasoure를 사용하는 방법은 무엇입니까? <code>ng2-ya-table</code>의 문서에서

public datasource: any = (request: any): Observable<any> => { 
return this.service.getUsers(request); 
} 

그리고 사용 :

<ng2-ya-table [options]="options" [columns]="columns" [datasource]="datasource" [paging]="paging"> 
</ng2-ya-table> 

내가 가지고 있기 때문에이 방법으로이 기능을 사용하지 않으 정적

data = [ 
    { 
     name: 'Patricia', 
     email: '[email protected]', 
     username: 'Yes', 
    }, 
    { 
     name: 'Chelsey Dietrich', 
     email: '[email protected]', 
     username: 'No', 
    } 
] 

가능합니까 아니면 관찰 가능한 유형을 렌더링해야합니까? 나는 정적 데이터를 사용하여 많은 시도했지만 헛된

public datasource: any = { 
    return this.data ; 
} 

왜이 기능이 작동하지 않습니다?

public datasource: any = (request: any): Observable<any> => { 
    return Observable.of(this.data); 
} 

을하지만,로 시작하는 오류의 폭포가 발생합니다 :

+0

희망 누군가가 내가이 모듈 같은 질문 및 문서를 가지고 ... 당신 응답은 최신 버전은 이제 로컬 데이터 소스를 지원 – TSG

답변

0

을 찾을 수있는이 답변을 향상시킬 수있는 경우

Ng2YaTableComponent.html:53 ERROR TypeError: Cannot read property 'length' of undefined

:

public datasource: any = (request: any): Observable<any> => { 
    return Observable.of({ 
    recordsTotal: this.data.length, 
    recordsFiltered: this.data.length, 
    data: this.data 
    }); 
} 

어쨌든 페이지 번호 매김, 정렬 및 필터링을 수행해야합니다 (이 작업 서버 측을 수행하기 위해 데이터 소스는 Observable 임). 예를 들어 (매김 전용) :

public datasource: any = (request: any): Observable<any> => { 
    let page = (request.start/request.length) + 1; 
    return Observable.of({ 
    recordsTotal: this.data.length, 
    recordsFiltered: this.data.length, 
    data: this.data.slice(request.length * (page - 1), request.length * page) 
    }); 
} 
+0

좋지 않습니다. – vitocmpl

0

나는 시도 누군가가 아마도 우리가 시도해보십시오 솔루션을