Параметры ReportViewer, рендер pdf - PullRequest
0 голосов
/ 30 августа 2011

Я хочу сделать отчет прямо в pdf. У меня есть объектный источник данных с 2 параметрами. Я получаю эти параметры из скрытого поля в веб-форме и из datakeyname в виде сетки. Отчет работает, когда я загружаю его в средство просмотра отчетов без рендеринга в PDF. Когда я размещаю код для отображения отчета в формате PDF, параметры не загружаются, то есть отчет отображается в формате PDF, но в отчете нет подробностей. Мой код ниже, любая помощь приветствуется. Я поместил код в gridview_selectedindexchanged:

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
    Dim ds1 As New seminarsTableAdapters.Sem1TableAdapter
    Dim rdssem As New ReportDataSource("seminars.sem1TableAdapter", ds1.GetData(aid:=HiddenField1.Value, semid:=GridView1.SelectedDataKey.Value))
    Dim reportsem As New LocalReport
    reportsem.ReportPath = "Report1.rdlc"
    Dim p1 As New ReportParameter("aid", HiddenField1.Value)
    Dim p2 As New ReportParameter("semid", GridView1.SelectedDataKey.Value().ToString)
    reportsem.SetParameters(New ReportParameter() {p1, p2})
    reportsem.DataSources.Add(rdssem)

    Me.ReportViewer1.LocalReport.Refresh()

    Dim warnings As Warning() = Nothing
    Dim streamids As String() = Nothing
    Dim mimeType As String = Nothing
    Dim encoding As String = Nothing
    Dim extension As String = Nothing
    Dim bytes As Byte()

    bytes = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings)

    Response.Clear()
    Response.ContentType = mimeType
    Response.AddHeader("content-disposition", "attachment; filename=foo." + extension)
    Response.BinaryWrite(bytes)
    Response.End()

End Sub

1 Ответ

0 голосов
/ 31 августа 2011

Я пропустил следующую строку кода:

Dim rdssem As New ReportDataSource ("seminars.sem1TableAdapter", ds1.GetData (помощь ......

это должно звучать так:

Dim rdssem As New ReportDataSource (" seminars.sem1 ", ds1.GetData (aid .....

Работает нормально сейчас!

Спасибо!

...