Не удалось передать параметр в отчет Telerik, который использует ObjectDataSource

1

Я новичок в отчетности telerik, и я создал простой отчет в ASP.Net MVC 4, который использует ObjectDataSource. Я создал один модельный класс, как показано ниже.

[DataObject]
public class StockMonitoring
{

    [DataObjectMethod(DataObjectMethodType.Select)]
    public List<StockDetail> GetExpiredDrugBrand(int SiteID)
    {
        //returns list by calling stored procedure which takes SiteID
    }
}

В контроллере я использую этот код:

using Telerik.Reporting;
..........
............
TypeReportSource Source = new TypeReportSource();
Source.TypeName = typeof(StockMonitoring_Expired).AssemblyQualifiedName;
Source.Parameters.Add(new Parameter("SiteID", SID));
ViewBag.ReportSource = Source;

и С учетом следующего кода:

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

Когда я прокомментирую эту строку

    Source.Parameters.Add(new Parameter("SiteID", SID));

и установить значение времени разработки для SiteID в моем отчете "StockMonitoring_Expired", который создан в VS 2012, мой выше код работает правильно, а точка останова - "GetExpiredDrugBrand" в модели, но когда я раскомментирую выше строки и удаляю значение времени разработки для SiteID, мой код дает ниже ошибки:

An error has occurred while processing Table 'table1': An error has occurred while resolving 'ObjectDataSource' data source: Cannot convert to type System.Int32

Я не могу передать параметр SiteID моему методу "GetExpiredDrugBrand", который, в свою очередь, называется хранимой процедурой для извлечения данных. Я прочитал документацию по телерике, но не смог понять проблему. Что не так в коде?

Заранее спасибо......

Теги:
asp.net-mvc
telerik-reporting

1 ответ

1
Лучший ответ

Я нашел решение. При разработке отчета я забыл добавить параметр для использования. Я следую этой ссылке для добавления параметра http://www.telerik.com/help/reporting/designing-reports-parameters-adding-parameters.html и моя проблема решена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню