【问题标题】:Devexpress End user Report Designer: Datasource binding is null when retrieve report from databaseDevexpress 最终用户报表设计器:从数据库中检索报表时,数据源绑定为空
【发布时间】:2014-06-03 00:28:06
【问题描述】:

我正在使用 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。即

      XRDesignForm designForm = new XRDesignForm();

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

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

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

【问题讨论】:

    标签: devexpress devexpress-windows-ui devexpress-mvc


    【解决方案1】:

    Aqdas,非常感谢。

    报表布局也有类似的错误,

    我的解决办法是,布局后再次设置DataSource

    XtraReport rep = null;
    
    rep = new rptReqVac();
    
    Stream layoutStream = null;
    
    layoutStream = mGetLoyoutStream(id);
    
    rep.LoadLayout(layoutStream);
    
    rep.DataSource = new dsREQPrintVac();
    
    reportDesigner.OpenReport(rep);
    

    希望它会帮助某人:-)

    【讨论】:

      【解决方案2】:

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

      希望它会帮助某人:-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多