Asp.Net Привязка XSD к элементу управления Reportviewer - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть более чем 10-летний веб-сайт ASP.net VB.Net, который я унаследовал, и я пытаюсь перейти с веб-сайта на веб-приложение. Одна из страниц - это страница отчетов, которая загружает элементы управления Reportviewer на основе выпадающего списка, но я получаю следующую ошибку во время выполнения: «Произошла ошибка во время обработки отчета. Тип, указанный в свойстве TypeName ObjectDataSource '', не найден. "

Сейчас я искал лучшую часть пары дней, и на основании того, что я нашел из Типизированный набор данных, не распознанный при перемещении в другой проект, сумел восстановить XSD. Я также изменил свойства XSD «Build Action» на «Content», как это было предложено кем-то другим, наряду с установкой «Custom Tool» на «MSDataSetGenerator», но сообщение об ошибке по-прежнему остается.

XSD сгенерирован, я вижу класс и создаю его экземпляр, и из сообщения видно, что TypeName для ObjectDataSource не найден (пусто), но я действительно не уверен, что это такое ожидание, кроме имен и пространств имен, которые генерируются как «Reports.dtAprdParmsDateAprdDataTable»

Основная идея кода - это набор данных XSD, который сопоставляется с ObjectDataSource, который затем используется для подпитки ReportDataSource:

    Dim myObjDataSource As New ObjectDataSource()
    myObjDataSource.SelectMethod = "GetData"
    myObjDataSource.OldValuesParameterFormatString = "original_{0}"
    myObjDataSource.TypeName = "Reports.dtAprdParmsDateAprdDataTable"

    myObjDataSource.SelectParameters.Add("FiscalStartDate", TypeCode.DateTime, myFiscalYear.StartDate.ToString("MM/dd/yyyy"))
    myObjDataSource.SelectParameters.Add("FiscalEndDate", TypeCode.DateTime, myFiscalYear.EndDate.ToString("MM/dd/yyyy"))

    'FilterRows
    myObjDataSource.FilterExpression = myUser.GetListRowFilter
    If myObjDataSource.FilterExpression = "" Then
        myObjDataSource.FilterExpression = GetReportViewerRowListFilter()
    ElseIf Not GetReportViewerRowListFilter() = "" Then
        myObjDataSource.FilterExpression = myObjDataSource.FilterExpression & " AND " & GetReportViewerRowListFilter()
    End If

    ReportViewer1.ProcessingMode = ProcessingMode.Local
    ReportViewer1.LocalReport.ReportPath = "Report01.rdlc"
    ReportViewer1.LocalReport.DataSources.Clear()
    ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("Reports_dtAprdParmsDateAprd", myObjDataSource))

    ReportViewer1.LocalReport.Refresh()

   'I am able to declare the newly generated XSD no problems
    Dim report As New Reports.dtAprdParmsDateAprdDataTable()

Кто-нибудь знает, как решить эту проблему? Я рад заменить функции на что-то более новое, но поскольку функциональность есть и работает, создается впечатление, что это должен быть простой выход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...