如何保存同步数据透视视图工具栏选项以及表格元数据

问题描述

我正在使用 Syncfusion 透视图,这里我需要在单击按钮时保存多个图表并在单击按钮时加载图表。 我可以使用 getPersistData() 和 loadPersistData() 保存和加载数据。 但是我想保存工具栏选择以及如果用户为图表 1 选择了条形图,然后为图表 2 选择了线条,然后在按钮单击时再次加载这些图表,图表 1 应加载为条形图,而图表 2 将加载为折线图。 用户使用工具栏完成的任何配置,例如用户在再次加载时选择了网格或 1 个枢轴视图和第二个枢轴视图的图表,我想按照他们之前的选择加载。

解决方法

我们已经分析了您的需求并准备了使用工具栏功能的数据透视示例,以使用当前视图(表格或图表)和图表类型保存和加载数据透视报告。请参考以下示例和代码示例。

示例: https://stackblitz.com/edit/angular-fsd4c1?file=app.component.ts

代码示例:

loadReport(args: any) {
    let reportCollection: string[] = [];
    if (localStorage.pivotviewReports && localStorage.pivotviewReports !== "") {
        reportCollection = JSON.parse(localStorage.pivotviewReports);
    }
    reportCollection.map(function (item: any): void {
        if (args.reportName === item.reportName) {
            args.report = item.report;
        }
    });
    if (args.report) {
        var report = JSON.parse(args.report);
        this.pivotObj.chartSettings.chartSeries.type = report.chartSettings.chartSeries.type;
        this.pivotObj.displayOption = report.displayOption;
        this.pivotObj.currentView = report.displayOption.primary === 'Chart' ? 'Chart' : 'Table';
        this.pivotObj.dataSourceSettings = report.dataSourceSettings;
    }
}

如果您需要进一步的帮助,请告诉我们。

问候,

马尼坎丹