[]
ActiveReportsJS 보고서 디자이너에는 바로 사용 가능한 미리 보기 기능이 없어 호스팅 응용 프로그램의 코드를 설정해야 합니다. 이 페이지에서는 여러 가지 일반 시나리오에 대한 사용법을 제공합니다.
ActiveReportsJS 보고서 디자이너 컴포넌트에는 도구 모음에 미리 보기
버튼이 있습니다. 그러나 이 버튼은 사용하도록 설정되어 있지 않아 기본적으로 표시되지 않습니다. 이 버튼을 사용하도록 설정하려면 코드에서 디자이너 컴포넌트에 대해 onRender
작업 처리기를 구성해야 합니다. 자세한 내용은 작업 처리기 페이지를 확인하십시오. 사용자가 미리 보기
버튼을 클릭하면 ActiveReportsJS 디자이너가 onRender
처리기를 호출합니다. 디자이너가 첫 번째 인수에서 ID, 표시 이름 및 보고서 정의로 구성된 현재 표시된 보고서의 정보를 전달합니다. onRender
처리기는 ActiveReportJS 뷰어에서 보고서 정의를 로드하거나 지원되는 형식 중 하나로 보고서를 내보낼 수 있습니다. 자세한 내용은 다음 페이지를 확인하십시오.
다음은 ActiveReportsJS 보고서 뷰어에 현재 표시된 보고서를 표시하는 React 응용 프로그램용 onRender
처리기의 예입니다.
import React from "react";
import "./App.css";
import {
Viewer as ReportViewer,
Designer,
} from "@grapecity/activereports-react";
import "@grapecity/activereports/styles/ar-js-ui.css";
import "@grapecity/activereports/styles/ar-js-viewer.css";
import "@grapecity/activereports/styles/ar-js-designer.css";
function App() {
const viewerRef = React.useRef();
const [viewMode, setViewMode] = React.useState(false);
const onRender = (report) => {
setViewMode(true);
viewerRef.current?.Viewer.open(report.definition);
return Promise.resolve();
};
return (
<div id="app-host">
<div id="designer-host" hidden={viewMode}>
<Designer onRender={onRender} />
</div>
<div id="viewer-host" hidden={!viewMode}>
<ReportViewer ref={viewerRef} />
</div>
</div>
);
}
export default App;
React, Angular, Vue 및 순수 JavaScript 응용 프로그램에 대한 전체 예제는 라이브 데모를 참조하십시오.
응용 프로그램에서는 ActiveReportJS 디자이너 인스턴스의 getReport 메서드를 사용하여 현재 표시된 보고서 정보를 가져올 수 있습니다. 이러한 접근 방식은 지원되는 형식 중 하나로 보고서를 내보내는 사용자 정의 보고서 미리 보기
UI를 추가합니다. 다음은 Angular 응용 프로그램에 대해 이와 같이 구현한 예입니다.
import { Component, ViewChild } from '@angular/core';
import { DesignerComponent } from '@grapecity/activereports-angular';
import { Core, PdfExport } from '@grapecity/activereports';
@Component({
selector: 'app-root',
template:
'<div id="designer-host"><button (click)="onPdfPreview()">Pdf Preview</button><gc-activereports-designer [report]="report"> </gc-activereports-designer></div>',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
@ViewChild(DesignerComponent, { static: false })
reportDesigner: DesignerComponent;
report = { id: 'assets/report.rdlx-json', displayName: 'my report' };
onPdfPreview = async () => {
const reportInfo = await this.reportDesigner.getReport();
const report = new Core.PageReport();
await report.load(reportInfo?.definition);
const doc = await report.run();
const result = await PdfExport.exportDocument(doc);
result.download('exportedreport.pdf');
};
}
React, Angular, Vue 및 순수 JavaScript 응용 프로그램에 대한 전체 예제는 라이브 데모를 참조하십시오.
카카오톡 채널 추가를 통해 GrapeCity의 최신 정보를 빠르게 받아 보세요!