首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将参数从MVC传递到Stimulsoft报表

将参数从MVC传递到Stimulsoft报表
EN

Stack Overflow用户
提问于 2019-02-27 06:22:46
回答 1查看 750关注 0票数 0

View代码如下:

代码语言:javascript
复制
@using Stimulsoft.Report.Mvc;
@using Stimulsoft.Report;

@{
    ViewBag.Title = "ListPouyaProject";
    Layout = "~/Views/Shared/_mainView.cshtml";
}

<section class="content">
    <!-- Default box -->
    <div class="box">
        <div class="box-body">
            <div class="form-group">
            Start Date: <input type="text" id="date1" name="date1" onclick="PersianDatePicker.Show(this, '1392/03/22');" />
           End Date : <input type="text" id="date2" name="date2" onclick="PersianDatePicker.Show(this, '1397/03/22');" />
            </div>
            <div class="form-group">
                @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions()
                {
                    Actions =
                    {
                        GetReport = "Report4_ListPouyaProject",
                        ViewerEvent = "ViewerEvent"
                    }
                })
            </div>
        </div>
    </div>
</section>

控制器代码如下:

代码语言:javascript
复制
public ActionResult Report4_ListPouyaProject()
{
    var report = new StiReport();
    report.Load(Server.MapPath("~/Content/Reports/ListPouyaProject.mrt"));
    return StiMvcViewer.GetReportResult(report);
}
public ActionResult ListPouyaProject()
{
    return View();
}
public ActionResult ViewerEvent()
{
    return StiMvcViewer.ViewerEventResult();
}

我希望将date1date2变量从视图传递给控制器。

为此,我们需要将以下命令添加到控制器中:

代码语言:javascript
复制
report.CompiledReport.DataSources["spm_report_4_ListPouyaProject"].Parameters["StartDate"].ParameterValue = DateTime.Parse(date1);


report.CompiledReport.DataSources["spm_report_4_ListPouyaProject"].Parameters["EndDate"].ParameterValue = DateTime.Parse(date2);

如何将视图中的参数date1date2传递给控制器?

EN

回答 1

Stack Overflow用户

发布于 2019-08-27 21:57:21

首先,您需要将StiMvcViewer组件添加到视图页面。此外,您还需要将StiMvcViewerOptions对象传递给构造函数。最低要求的选项是两个操作- GetReport和ViewerEvent,它们位于操作选项组中。

代码语言:javascript
复制
  @using Stimulsoft.Report.MVC;
    @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions()
        {
            Actions =
            {
                GetReport = "GetReport",
                ViewerEvent = "ViewerEvent"
            }
        })

    <div style="width: 150px;">
                    @Html.ActionLink("Simple List", "Index", new { id = "1" })
                    <br />Report Snapshot
                </div>

在controoller中:

代码语言:javascript
复制
public ActionResult GetReport(int? id)
    {
        // Create the report object
        StiReport report = new StiReport();
     switch (id)
{
    // Load report snapshot
    case 1:
        // Load report
         // Load report snapshot
               report.LoadDocument(Server.MapPath("~/Content/Reports/SimpleList.mdc"));
                break;
    }
              // Load data from XML file for report template
        if (!report.IsDocument)
        {
            DataSet data = new DataSet("Demo");
            data.ReadXml(Server.MapPath("~/Content/Data/Demo.xml"));

            report.RegData(data);
        }
        return StiMvcViewer.GetReportResult(report);
    }
    public ActionResult ViewerEvent()
    {
        return StiMvcViewer.ViewerEventResult();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54895130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档