如何将多个 json 对象数组传递给 Javascript 中的 stimulsoft 报告
How can I pass multiple json object array to stimulsoft report in Javascript
我在 javascript 中有此代码:
var viewer = new window.Stimulsoft.Viewer.StiViewer(
null,
"StiViewer",
false
);
var report = new window.Stimulsoft.Report.StiReport();
const { data: reportData } = await GetRequestFromStore(
this.state.reportDate,
this.state.storeId
);
var json = {
DataSet: reportData.requestItems,
};
var dataSet = new window.Stimulsoft.System.Data.DataSet("JSON");
dataSet.readJson(json);
report.regData("JSON", "JSON", dataSet);
report.loadFile(this.state.reportName);
report.dictionary.variables.getByName(
"requestDate"
).valueObject = this.state.jalaaliReportDate;
viewer.report = report;
viewer.renderHtml("viewer");
以及stimulsoft designer中数据源的设计
一切正常。
但是我想将多个 json 对象数组传递给报告。像这个。
如何在代码中将 Items 对象数组和 Descriptions 对象数组传递给报表。
谢谢。
DataSet With Two Tables 解决了我的问题。
我已将两个 JSON 对象数组合并为一个 JSON 对象并注册数据集。
现在,reportData 就像:
let reportData = {
items: [],
descriptions: [],
};
Stimulsoft 设计器中的数据集设计是:
这部分代码对我有用。
var viewer = new window.Stimulsoft.Viewer.StiViewer(null, "Viewer", false);
var report = new window.Stimulsoft.Report.StiReport();
const { data: reportData } = await GetRequestFromStore(
this.state.reportDate,
this.state.storeId
);
var dataSet = new window.Stimulsoft.System.Data.DataSet("DS1");
dataSet.readJson(JSON.stringify(reportData));//one JSON object
//this line of code added,too.
report.dictionary.databases.clear();
report.regData("DS1", "DS1", dataSet);
//this line of code is also required.
report.dictionary.synchronize();
report.loadFile(this.state.reportName);
report.dictionary.variables.getByName(
"requestDate"
).valueObject = this.state.jalaaliReportDate;
viewer.report = report;
viewer.renderHtml("viewer");
我在 javascript 中有此代码:
var viewer = new window.Stimulsoft.Viewer.StiViewer(
null,
"StiViewer",
false
);
var report = new window.Stimulsoft.Report.StiReport();
const { data: reportData } = await GetRequestFromStore(
this.state.reportDate,
this.state.storeId
);
var json = {
DataSet: reportData.requestItems,
};
var dataSet = new window.Stimulsoft.System.Data.DataSet("JSON");
dataSet.readJson(json);
report.regData("JSON", "JSON", dataSet);
report.loadFile(this.state.reportName);
report.dictionary.variables.getByName(
"requestDate"
).valueObject = this.state.jalaaliReportDate;
viewer.report = report;
viewer.renderHtml("viewer");
以及stimulsoft designer中数据源的设计
一切正常。 但是我想将多个 json 对象数组传递给报告。像这个。
如何在代码中将 Items 对象数组和 Descriptions 对象数组传递给报表。 谢谢。
DataSet With Two Tables 解决了我的问题。 我已将两个 JSON 对象数组合并为一个 JSON 对象并注册数据集。
现在,reportData 就像:
let reportData = {
items: [],
descriptions: [],
};
Stimulsoft 设计器中的数据集设计是:
这部分代码对我有用。
var viewer = new window.Stimulsoft.Viewer.StiViewer(null, "Viewer", false);
var report = new window.Stimulsoft.Report.StiReport();
const { data: reportData } = await GetRequestFromStore(
this.state.reportDate,
this.state.storeId
);
var dataSet = new window.Stimulsoft.System.Data.DataSet("DS1");
dataSet.readJson(JSON.stringify(reportData));//one JSON object
//this line of code added,too.
report.dictionary.databases.clear();
report.regData("DS1", "DS1", dataSet);
//this line of code is also required.
report.dictionary.synchronize();
report.loadFile(this.state.reportName);
report.dictionary.variables.getByName(
"requestDate"
).valueObject = this.state.jalaaliReportDate;
viewer.report = report;
viewer.renderHtml("viewer");