Telerik Reporting HTML5传递参数

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)
        )

1
我也问了他们这个问题,他们把我引导到了文档,但不幸的是文档中没有对此进行解释。 - MiBu
我也一样,它让我困扰了三天。不知道你能否更新并提供答案? - reptildarat
你找到解决方案了吗? - Rosdi Kasim
2
Telerik的文档是 while(true) { awful } - Felipe Oriani
抱歉,我已经不在同一家公司工作了。我可以告诉你,当我使用他们的独立客户端构建报告时,我取得了更多的成功。我认为我已经让它工作了,但仍然存在很多问题。 - Precious Roy
你能帮我一下吗?https://stackoverflow.com/questions/76953236/error-happening-telerik-reporting-html5-with-net6 - sina_Islam
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版本时,似乎没有直接完成它的方法。


请问你能帮我吗?https://stackoverflow.com/questions/76953236/error-happening-telerik-reporting-html5-with-net6 - sina_Islam

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; }}

我是这样做的,希望能有所帮助 :)


0

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接