7

我已经尝试过 MVC 助手和标准 HTML5 查看器。我很好奇是否有人能够使用新查看器成功加载包含参数的报告。我无法从 Telerik 获得任何反馈。

@{
    var report = new UriReportSource() { Uri = "TestReport.trdx" };
    report.Parameters.Add(new Telerik.Reporting.Parameter() { Name="UserId", Value=1234 });
    report.Parameters.Add(new Telerik.Reporting.Parameter() { Name = "UserName", Value = "Test User" });
}
@(Html.TelerikReporting().ReportViewer()
           .Id("reportViewer1")
           .ServiceUrl("/api/reports/")
           .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
               .ReportSource(report)
           .ViewMode(ViewModes.INTERACTIVE)
           .ScaleMode(ScaleModes.SPECIFIC)
           .Scale(1.0)
           .PersistSession(false)
        )
4

4 回答 4

0

需要单独声明报表数据源,然后传递例如

@{
       var dataSource = new UriReportSource() { Uri = "rptUncashedCheckLetter.trdx" };
        dataSource.Parameters.Add(new Telerik.Reporting.Parameter() { Name = "CheckNumber", Value = "2315527" });

    }

    @(Html.TelerikReporting().ReportViewer()
           .Id("reportViewer1")
           .ServiceUrl("/api/reports/")
           .TemplateUrl("/Reports/telerikReportViewerTemplate.html")
           .ReportSource(dataSource)
           .ViewMode(ViewModes.INTERACTIVE)
           .ScaleMode(ScaleModes.FIT_PAGE_WIDTH)
           .Scale(1.0)
           .PersistSession(false)
           )

使用MVC版本时,似乎没有办法直接做到这一点。

于 2014-05-30T13:44:58.223 回答
0

在 .cshtml 作为标题中,您有 @model yourModel

然后创建您拥有的报告:

     UriReportSource urs = new UriReportSource (){
        Uri = "Report1.trdx" 
    };
    urs.Parameters.Add("id", Model.id.ToString());
    urs.Parameters.Add("start", Model.Start.ToString());
    urs.Parameters.Add("end", Model.Stop.ToString());

    @(Html.TelerikReporting().ReportViewer()
           .Id("reportViewer1")
           .ServiceUrl("/api/reports/")
           .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
           .ReportSource(urs)
           .ViewMode(ViewModes.INTERACTIVE)
           .ScaleMode(ScaleModes.SPECIFIC)
           .Scale(1.0)
           .PersistSession(false))

和 Model.cs 文件:

 public class yourModel
{
    public Guid id{ get; set; }

    public DateTime Start { get; set; }

    public DateTime Stop { get; set; }}

我就是这样做的,希望对你有帮助:)

于 2014-06-05T08:10:26.350 回答
0

想知道您是否已经测试过如何:将值传递给Telerik 报告文档中的报告参数。

于 2013-11-18T22:12:51.793 回答
0

如果设置了所有参数,则很可能问题出在 Newtonsoft.Json.dll 上。您有问题的项目很可能引用了 Newtonsoft 的 GAC 版本。为了修复检查 Newtonsoft 是否仍然安装在 GAC 中,如果是,则将其删除。要快速修复,只需从您的项目中删除 Newtonsoft 引用并使用 nuget 添加它。

于 2015-06-24T16:57:16.040 回答