0

我正在使用 asp.net mvc web api 创建报告服务器。我正在使用 devexpress 的 XRDesignForm 对象从 web api 检索报告中检索数据。我正在将报告数据发回 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.ie

      XRDesignForm designForm = new XRDesignForm();

        string url = GetSelectedUrl();
        if (!string.IsNullOrEmpty(url))

            designForm.OpenReport(url);
        designForm.ShowDialog(this);

似乎将动态报告保存到数据库(作为二进制文件)时,它会丢失数据源绑定。请帮助我。谢谢

4

2 回答 2

2

阿克达斯,非常感谢。

报告布局中也有类似的错误,

我的解决方案是,布局后再次设置DataSource

XtraReport rep = null;

rep = new rptReqVac();

Stream layoutStream = null;

layoutStream = mGetLoyoutStream(id);

rep.LoadLayout(layoutStream);

rep.DataSource = new dsREQPrintVac();

reportDesigner.OpenReport(rep);

希望它会帮助某人:-)

于 2016-12-01T19:44:02.723 回答
0

最后花了很多时间后,我解决了这个问题,问题实际上是当您将报告作为二进制文件保存到数据库时,它会跳过 DataAdapter 进行报告。因此,在保存之前,您需要先对 dataadapter 或报告执行 null ,然后在获得报告布局的缓冲区之前再次进行 assaing。

希望它会帮助某人:-)

于 2014-06-03T03:08:26.770 回答