2013-11-04 137 views
7

我試過MVC幫手和標準的HTML5查看器。我很好奇,如果有人能夠使用新的查看器成功加載包含參數的報告。我無法從Telerik獲得任何反饋。Telerik報告HTML5傳遞參數

@{ 
    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) 
     ) 
+0

我也問過他們,他們提到我很遺憾沒有解釋這些文件。 – MiBu

+0

同樣在這裏,它讓我堅持了3天。想知道你可以更新答案嗎? – reptildarat

+0

你有沒有找到解決方案呢? –

回答

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版本時,直接去做。

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

如果設置了所有參數,大多數可能問題出在Newtonsoft.Json.dll。您的問題項目很可能引用了GAC版本的Newtonsoft。爲了解決檢查牛頓軟件是否仍然安裝在GAC中並且如果是的話刪除它。爲了快速修復,只需從項目中刪除Newtonsoft引用,然後使用nuget添加它。