2013-11-04 13 views
7

Próbowałem już pomocnika MVC i standardowej przeglądarki HTML5. Ciekaw jestem, czy ktoś mógł załadować raport zawierający parametry za pomocą nowych przeglądarek. Nie mogę uzyskać żadnych informacji zwrotnych od Telerik.Telerik Raportowanie parametrów przekazywania 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

Też mnie o to poprosiłem, a oni skierowali mnie do dokumentacji, która niestety tego nie wyjaśnia. – MiBu

+0

To samo, utkwiło mi to na 3 dni. zastanawiasz się, czy możesz zaktualizować odpowiedź? – reptildarat

+0

Czy znalazłeś już rozwiązanie? –

Odpowiedz

0

Musisz zadeklarować źródło danych raportu oddzielnie, a następnie przekazać je na przykład

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

Nie wydaje się być sposób to zrobić bezpośrednio po użyciu wersji MVC.

0

W .cshtml jako nagłówek masz @model yourModel

Następnie, aby utworzyć raport Masz:

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

a plik Model.cs:

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

    public DateTime Start { get; set; } 

    public DateTime Stop { get; set; }} 

To jest tak jak to zrobiłem, mam nadzieję, że to pomoże :)

0

Jeśli wszystkie parametry zostały ustawione, większość prawdopodobnie problem leży w pliku Newtonsoft.Json.dll. Twój problematyczny projekt najprawdopodobniej odwołuje się do wersji Newtonsoft GAC. Aby sprawdzić, czy Newtonsoft jest nadal zainstalowany w GAC i usunąć go, jeśli tak. Aby uzyskać szybką poprawkę, po prostu usuń odniesienie do Newtonsoft z twojego projektu i dodaj go za pomocą nuget.

Powiązane problemy