如何将参数发送到Stimulsoft

本文关键字:Stimulsoft 参数 | 更新日期: 2023-09-27 18:37:03

    public virtual ActionResult GetReportSnapshot()
    {
       var data = (ComparativeBalanceReportDS) TempData["ComparativeSession"];

        StiReport report = new StiReport();
        report.Load(Server.MapPath("~/Content/StimulReports/SampleReport.mrt"));
        report.Compile();
        report["fromDocumentNumber"] = "1";
        report["toDocumentNumber"] = "85";
        return StiMvcViewer.GetReportSnapshotResult(HttpContext, report);
   }

我有存储过程并在设计器中执行,但我不向其发送参数以及何时运行应用程序,我收到以下错误:

错误SqlCommand.Prepare 方法要求所有可变长度参数具有显式设置的非零大小

我该怎么办?

如何将参数发送到Stimulsoft

我的问题已使用以下代码解决:

       public virtual ActionResult GetReportSnapshot()
        {
         var data = (ComparativeBalanceReportDS) TempData["ComparativeSession"];       
          StiReport report = new StiReport();
         report.Dictionary.DataStore.Clear();
         report.Load(Server.MapPath("~/Content/StimulReports/SampleReport.mrt"));
         report["@enterpriseId"] = data.EnterpriseId;
         report["@toDocumentNumber"] = data.NumberFilter.FromDocumentDocumentNumber;
         report["@fromDocumentNumber"] = data.NumberFilter.ToDocumentDocumentNumber;
         report["@fromDate"] = data.DateFilter.FromDocumentDate.Value;
         report["@toDate"] = data.DateFilter.ToDocumentDate.Value;
         return StiMvcViewer.GetReportSnapshotResult(HttpContext, report);
        }

在编译报告之前,可以使用以下代码:

report.Dictionary.DataSources["DataSourceName"].Parameters["ParameterName"].Value = ""

您也可以在参数表达式中使用其他变量。在这种情况下,应在呈现报表之前设置变量的值。