user3439450
user3439450

Reputation: 27

subreport in rdlc only shows for one record in master

I have a report that shows expenses and a sub report to show all payments against expenses.and this is how i am passing data to master and sub report

         Dim datasource As New ReportDataSource("Expenses", Ds.Tables(0))
        Me.ReportViewer1.LocalReport.ReportPath = "../../Reports/Expenses.rdlc"
        Me.ReportViewer1.LocalReport.ReportEmbeddedResource = "../../Reports/Expenses.rdlc"           
        Me.ReportViewer1.LocalReport.DataSources.Clear()
        Me.ReportViewer1.LocalReport.DataSources.Add(datasource)

        AddHandler ReportViewer1.LocalReport.SubreportProcessing, AddressOf SetSubDataSource
        Me.ReportViewer1.LocalReport.Refresh()
        Me.ReportViewer1.RefreshReport()
        Me.Show()
    End If
End Sub
Public Sub SetSubDataSource(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
    Dim Ds As New DataSet
    Call gSetDatabaseConnection()
    Dim sqlcmd As New SqlCommand
    With sqlcmd
        .CommandType = CommandType.StoredProcedure
        .CommandText = "CV_GetPay_BY_EXP"
        .Connection = gSqlConncetion
        .Parameters.Add(New SqlParameter("@iExp", SqlDbType.Int))
        .Parameters("@iExp").Direction = ParameterDirection.Input
        .Parameters("@iExp").Value = CType(e.Parameters(0), ReportParameterInfo).Values(0)  '11747
        Dim sqladp As New SqlDataAdapter(sqlcmd)
        sqladp.Fill(Ds)
        gSqlConncetion.Close()
    End With
    Dim datasource As New ReportDataSource("Payments", Ds.Tables(0))

    Dim path As String
    path = e.ReportPath
    e.DataSources.Add(datasource)
End Sub

Upvotes: 1

Views: 101

Answers (1)

user3439450
user3439450

Reputation: 27

figured it out when i inserted sub report should be inserted inside the group to repeat after each row.

Upvotes: 1

Related Questions