Quantcast
Channel: SQL Server Reporting Services, Power View forum
Viewing all articles
Browse latest Browse all 28687

How to setup generic routine to handle & bind subreport in SSRS

$
0
0

my scenario is something like that i have one common report viewer in one win form and every body call that win form and pass required parameter and dataset. that form collect those data and bind ssrs report. now the problem is that a report may have 5 subreport and may have 3 subreport. that form has one event for handling subreport.

private void reportViewer1_suberport1(object sender, SubreportProcessingEventArgs e)
{
   
// code here to bind subreport
}

whenever any person call my winform which has report viewer and if that report has subreport then person has to write code inside reportViewer1_suberport1 event to bind his report.

my sample code for reportViewer1_suberport1 event

 private void reportViewer1_suberport1(object sender, SubreportProcessingEventArgs e)
{
Select Case e.ReportPath
   
Case "subreport1"
       
Dim tbl As DataTable = New DataTable("TableName")
       
Dim Status As DataColumn = New DataColumn
       
Status.DataType = System.Type.GetType("System.String")
       
Status.ColumnName = "Status"
        tbl
.Columns.Add(Status)
       
Dim Account As DataColumn = New DataColumn
       
Account.DataType = System.Type.GetType("System.String")
       
Account.ColumnName = "Account"
        tbl
.Columns.Add(Account)
       
Dim rw As DataRow = tbl.NewRow()
        rw
("Status") = core.GetStatus
        rw
("Account") = core.Account
        tbl
.Rows.Add(rw)
        e
.DataSources.Add(New ReportDataSource("ReportDatasourceName", tbl))
   
Case "subreport2"
        core
.DAL.cnStr = My.Settings.cnStr
        core
.DAL.LoadSchedule()
        e
.DataSources.Add(New ReportDataSource("ScheduledTasks", _
                                               
My.Forms.Mother.DAL.dsSQLCfg.tSchedule))
   
Case "subreport3"
        core
.DAL.cnStr = My.Settings.cnStr
       
Dim dt As DataTable = core.DAL.GetNodesForDateRange(DateAdd("d", _
                                                                     
-1 * CInt(e.Parameters("NumberOfDays").Values(0)), _
                                                                     
Today), _
                                                             
Now)
        e
.DataSources.Add(New ReportDataSource("Summary", dt))
End Select

End Sub

i need a good way for write generic code inside the above routine as a result any number of subreport can be bind. please put some light & guide me. thanks


Viewing all articles
Browse latest Browse all 28687

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>