For a data source the engine does not support natively, you can register a custom database that answers its data commands yourself.

In Angular.
import { Component } from "@angular/core";
import { Designer, Stimulsoft } from "stimulsoft-dashboards-js-angular/designer";

@Component({
    imports: [Designer],
    template: `<sti-designer [(report)]="report" [options]="options"></sti-designer>`
})
export class Example {
    report: Stimulsoft.Report.StiReport;
    options: Stimulsoft.Designer.StiDesignerOptions;

    constructor() {
        Stimulsoft.Report.Dictionary.StiCustomDatabase.registerCustomDatabase({
            serviceName: "MyDatabase",
            process: function (command, callback) {
                if (command.command === "TestConnection") callback({ success: true });
                if (command.command === "RetrieveSchema")  callback({ success: true, data: demoData, types: demoDataTypes });
                if (command.command === "RetrieveData")    callback({ success: true, data: demoData[command.queryString] });
            }
        });

        this.report = new Stimulsoft.Report.StiReport();
        this.report.loadFile("Dashboards/CustomAdapter.mrt");

        this.options = new Stimulsoft.Designer.StiDesignerOptions();
        this.options.appearance.fullScreenMode = true;
    }
}

How it works. The engine talks to your adapter through the same command protocol as built-in databases, so any JavaScript-queryable source becomes a dashboard data source.

Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.