我正在使用asp.net mvc web api创建报告服务器。我正在使用devexpress的XRDesignForm对象从web api reiving报告中检索数据。我将报告数据发布回web api。我面临的问题是,如果我使用xtrareport obejct并手动绑定数据源,它就可以正常工作。
XtraReport report = new XtraReport();
report.DataSource = setupSummary.FillDataSet();
report.DataMember = ((DataSet)report.DataSource).Tables[0].TableName;
designForm.OpenReport(report);
//designForm.Show();
designForm.ShowDialog(this);
我可以成功地编制此报告,并可以保存到数据库中,
但是如ReportStorage的文章中所示,如果我只使用来自服务器的报告名称从数据库检索报告,则数据源始终为null.i.e。
XRDesignForm designForm = new XRDesignForm();
string url = GetSelectedUrl();
if (!string.IsNullOrEmpty(url))
designForm.OpenReport(url);
designForm.ShowDialog(this);
似乎在将动态报告保存到数据库(作为二进制文件)时,它会丢失数据源绑定。 请帮帮我。 感谢
答案 0 :(得分:2)
Aqdas,非常感谢你。
报告布局中存在类似的错误,
我的解决方案是,在布局后再次设置DataSource
XtraReport rep = null;
rep = new rptReqVac();
Stream layoutStream = null;
layoutStream = mGetLoyoutStream(id);
rep.LoadLayout(layoutStream);
rep.DataSource = new dsREQPrintVac();
reportDesigner.OpenReport(rep);
希望它会帮助某人: - )
答案 1 :(得分:0)
最后花了很多时间后,我已经解决了这个问题,问题实际上当你将报告保存到数据库中时,它会跳过DataAdapter报告。因此,在保存之前,您需要先对数据适配器或报告执行null操作,然后在获取缓冲区进行报告布局之前再次进行操作。
希望它会帮助某人:-)