我有一个用于报表设计器的组件,并将方法分配给onsavereport
事件,但在该方法中,我的组件memeber是undefined
options: any;
designer: any;
html" target="_blank">public document: ReportDocument;
reportBody = '';
constructor() {
}
ngOnInit() {
this.document = new ReportDocument();
this.options = new Stimulsoft.Designer.StiDesignerOptions();
this.options.appearance.fullScreenMode = false;
this.designer = new Stimulsoft.Designer.StiDesigner(this.options, 'StiDesigner', false);
var report = new Stimulsoft.Report.StiReport();
var json = { "DataSet": [{ Id: "a", Name: "A" }] }
var dataSet = new Stimulsoft.System.Data.DataSet("JSON");
dataSet.readJson(json)
report.regData("JSON", "JSON", dataSet);
report.dictionary.synchronize();
this.designer.report = report;
this.designer.renderHtml('designer');
this.designer.onSaveReport = this.onReportSave;
}
private onReportSave(e: any) {
this.document.body = e.report.saveToJsonString(); // error is here
}
}
这是错误:
无法设置未定义的属性(设置'body')类型错误:无法将未定义的属性(设置'body')设置在$.onReportSave[as onSaveReport](http://localhost:4200/features-expressionsoft-report-expressionsoft-report-report-module.js:1206:28)设置在$.invokesaverePort(http://localhost:4200/assets/lazybundles/expressionsoft.designer.js:30:82619)设置在$.raisecallbackeventasync/lazybundles/inspirsoft/inspirsoft.designer.js:30:78818 at zoneDelegate.invokeTask(http://localhost:4200/polyfills.js:12178:35)at object.oninvoketask(http://localhost:4200/vendor.js:72788:33)at zoneDelegate.invokeTask(http://localhost:4200/polyfills.js:12177:40)at zoneDelegate.invokeTask)在zonetask.invoke(http://localhost:4200/polyfills.js:12248:52)`
您无权访问这个
insideonreportsave
函数中的类,因为您将函数引用传递给onsavereport
,并且由于设计器调用函数函数中的这个
属于设计器而不是类,这就是错误的原因。document未定义,您从未定义的函数调用body,但您可以使用bind属性更改它
this.designer.onSaveReport = this.onReportSave.bind(this);
现在您将函数中的this
设置为类的this
。
问题内容: 我有这样的JavaScript代码 我的PHP代码是这样的 执行此代码时,我得到了一个零尺寸的png文件图像?我的代码有什么问题? 问题答案: 我最近不得不自己做。 首先,我将canvasData放入一个隐藏字段中,并将其发布到我的PHP页面中。 它以以下格式返回: 您需要首先拆分数据,因为这是标题信息。其余的是编码数据。 然后,在服务器上创建映像: 然后阅读以完成我想做的事情。 我非
我们在最佳实践文章中建议大家如何去配置协议和密码套件,但是如果服务器软件(nginx、apache等)所使用的ssl协议库存在SSL漏洞,或者不支持那些现代化的密码套件和特性,那么无论你如何去修改配置都无法改善现在的安全问题。 所以我们在配置前,或者发现按照推荐配置进行了调整《SSL/TLS安全评估报告》还是无法满足要求,那么可以检查下所使用的OpenSSL等加密库是否版本过低。 如何检查 Ope
问题内容: 在这里和其他地方,我已经看到许多对此的部分答案,但是我非常适合作为新手程序员,并希望找到一个彻底的解决方案。我已经能够在Chrome Canary(v。29.x)中设置笔记本电脑麦克风的录制音频,并且可以使用recorder.js相对容易地设置录制.wav文件并将其保存在本地,例如: http://webaudiodemos.appspot.com/AudioRecorder/inde
我用的是Flink 1.4.0 我正在尝试将Table API查询的结果保存到CSV文件,但我收到错误。以下是详细信息: 我的输入文件如下所示: 我对此运行查询以仅选择犬类,我想将其保存到csv文件中: 当我运行此命令时,我看到数据集的结果被输出: 犬科动物,2 然而,我在输出文件中没有得到任何结果,我在下面看到了这些错误。我能做些什么来解决这个问题?谢谢
问题内容: 我要上传图像并将其保存在服务器中。我上传了图像并获得了预览,但是我被困在将图像发送到服务器上。我想使用角度服务将此图像发送到服务器。 这是HTML代码 这是指令 问题答案: 假设您在后端中期望Multipart,这是一段对我有用的代码。 这是一个jsfiddle。 请注意 以下部分: 是一些Angular魔术,为了使$ http解析FormData并找到正确的内容类型,等等。
我正在使用Yii2和Kartik的FileInput扩展。我在保存到目录时遇到问题。我正在使用yii高级模板,并使用gii生成CRUD代码。我现在正在编辑它。 当我保存它时,它拒绝保存并显示“请上传文件”消息。 将保存的文件. doc和. pdf大部分。 如果我在模型中设置'skipOnEmpty=True',它将保存表单而不是文件。 mysql表上的数据类型设置为VARCHAR,因为我只想保存其