我正在使用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);
.

我可以成功地大结本报告,并可以保存到数据库,

但如图中的文章中所示,如果我只使用来自服务器的报表名称从数据库中检索报告,则DataSource始终为null.i.e。

      XRDesignForm designForm = new XRDesignForm();

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

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

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

有帮助吗?

解决方案

aqdas,非常感谢。

报告布局中存在类似的错误,

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

之后
XtraReport rep = null;

rep = new rptReqVac();

Stream layoutStream = null;

layoutStream = mGetLoyoutStream(id);

rep.LoadLayout(layoutStream);

rep.DataSource = new dsREQPrintVac();

reportDesigner.OpenReport(rep);
.

希望它会帮助某人: - )

其他提示

最后在花大量时间之后,我已经修复了这一点,问题实际上是当您将报表保存到数据库作为二进制文件时,它会跳过DataAdapter进行报告。因此,在保存之前,您需要第一次null到DataAdapter或报告,然后再次在您获取报表布局的缓冲区之前再次assaing。

希望它会帮助某人:-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top