많은 양의 데이터가있을 수있는 각도 2 용 검도 UI 그리드가 있습니다. 결과적으로 카운트를 포함하고 페이지 매김 그리드에 데이터를 넣는 API 호출을 사용하고 있습니다. Excel로 내보내기 버튼을 클릭하면 표시된 데이터 만 반환됩니다. 대신 전체 데이터 세트를 내보낼 수 있어야합니다.Telerik Kendo UI 그리드 Excel 내보내기 사용자 정의
나는 다음과 같이 내가 그리드에를 fetchData 방법을 사용하는 것으로 가정하고 있고 포함되어 있다고 생각 :
<kendo-grid-excel fileName="MyExport.xlsx" [fetchData]="allResults"></kendo-grid-excel>
그러나, allResults 방법은 ExcelExportData 객체를 반환해야합니다. API에 대한 내 메소드 호출은 파싱 된 관찰 가능 객체를 반환합니다. 구독 이벤트에서 데이터를 반환하려고했지만 메서드에서 값을 반환해야한다는 TypeScript 오류가 발생합니다. 반환 형식을 "any"로 변경하면 외부에서 필터를 적용 할 때 "this"에 대한 호출이 실패합니다.
이 내 현재의 인출 방법 :
allResults(): ExcelExportData {
if (!this.sort.length) {
this.sort.push({ field: undefined, dir: undefined });
}
this.myService.resultsGet(
this.filters.date,
...
undefined, // skip
undefined, // take
this.sort[0].field,
this.sort[0].dir
).subscribe(
(pagedList: any) => {
for (let item of pagedList.results) {
// manipulate a few things here
}
return { data: pagedList.results };
},
e => { console.log(`error: ${e}`); }
);
}
외부 API 호출 각 구성 요소 필터를 사용하고 구독을 통해 데이터를 반환을하려면이 옵션을 설정할 수있는 방법이 있나요?
미리 감사드립니다. 계속 두 가지가 같이
이 정의에 대한 정보 주셔서 감사합니다! 반환은 여전히 문제입니다. 내가 가지고있는 문제는 그리드가 내보내기에 필요한 데이터의 서브 세트 만 가지고 있다는 것입니다. 이미 맵 대신 구독을 사용하더라도 그리드를로드하는 데 사용하는 메서드에 대해 allResults에 작성한 코드가 이미 있습니다. 그리드가 Observables를 처리 할 수 있기 때문에 정상적으로 작동합니다. "Excel로 내보내기"버튼을 클릭하면 ExcelExportData 유형 (allResults() : ExcelExportData)을 반환하는 myService.resultsGet 메서드에 대해 다른 매개 변수 집합이 필요합니다. 반환 값을 맵에 넣으면 void가 반환됩니다. 검도가 할 수 있을까요? – ChristyPiffat
당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 나는 모든 데이터를 얻고 수정하는 것을 보여주는 위의 플 런커를 추가했다. –