2013-11-04 5 views
7

Ho provato l'helper MVC e il visualizzatore HTML5 standard. Sono curioso di sapere se qualcuno è stato in grado di caricare con successo un rapporto contenente parametri utilizzando i nuovi spettatori. Non riesco a ottenere alcun feedback da Telerik.Telerik Reporting parametri del passaggio 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

Ho chiesto loro anche questo, e mi hanno fatto riferimento alla documentazione che purtroppo non ha spiegato questo. – MiBu

+0

Lo stesso qui, mi ha bloccato per 3 giorni. chiedendo forse si può aggiornare con la risposta? – reptildarat

+0

Hai già trovato la soluzione? –

risposta

0

è necessario dichiarare l'origine dati del report separatamente e poi passarlo ad esempio

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

Non sembra essere un modo per farlo direttamente quando si utilizza la versione MVC.

0

In .cshtml come intestazione avete @model yourModel

Quindi per creare il rapporto si dispone:

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

e il file Model.cs:

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

    public DateTime Start { get; set; } 

    public DateTime Stop { get; set; }} 

Questo è il modo in cui l'ho fatto, spero che aiuti :)

0

Se tutti i parametri sono stati impostati, la maggior parte probabilmente il problema sta nel Newtonsoft.Json.dll. Il tuo progetto problematico molto probabilmente fa riferimento alla versione GAC di Newtonsoft. Al fine di correggere verificare se Newtonsoft è ancora installato nel GAC e rimuoverlo se è così. Per una soluzione rapida, elimina il riferimento Newtonsoft dal tuo progetto e aggiungilo usando nuget.