|
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init |
|
If Not IsPostBack Then |
LoadTabStrip() |
Else |
ReLoadTabStrip() |
End If |
|
End Sub |
|
|
Private Sub LoadTabStrip() |
|
Dim cnn As SqlConnection |
Dim cmd As SqlCommand |
Dim dr As SqlDataReader |
Dim SQL As String |
|
Dim TempTab As Telerik.Web.UI.RadTab |
Dim TempPageView As Telerik.Web.UI.RadPageView |
Dim TempReport As ReportViewer |
|
Dim sReportShortName As String |
Dim sReportLongName As String |
|
'Dim bFirstTab As Boolean = True |
|
SQL = "SELECT " & vbCrLf & _ |
" rt.ReportName " & vbCrLf & _ |
" FROM ReportsInUsers ru (NOLOCK) " & vbCrLf & _ |
" INNER JOIN REF_ReportTypes rt (NOLOCK) ON ru.K_ReportTypeID = rt.K_ReportTypeID " & vbCrLf & _ |
" AND rt.ReportTab = 'QA Interactive' " & vbCrLf & _ |
" AND ru.UserName = '" & _sUserName & "' " & vbCrLf & _ |
" AND rt.Status = 'A' AND ru.FlagStatus = 'A' " |
|
Try |
'open the connection |
cnn = New SqlConnection(_sConnectionString) |
cnn.Open() |
|
'create a datareader |
cmd = New SqlCommand(SQL, cnn) |
dr = cmd.ExecuteReader() |
|
While (dr.Read) |
|
'create new tab |
TempTab = New Telerik.Web.UI.RadTab() |
|
''if its the first one then select it |
'If bFirstTab Then |
' TempTab.Selected = True |
' bFirstTab = False |
'End If |
|
sReportShortName = CStr(dr.Item(0)).Replace("Quality Assurance", "QA").Replace(" On Demand", "") |
sReportLongName = CStr(dr.Item(0)).Replace(" ", "") |
|
'Add tabs to tabstrip based on the users reports |
TempTab.Text = sReportShortName |
RTSReports.Tabs.Add(TempTab) |
|
'create reportviewer control and save for later |
TempReport = New ReportViewer() |
TempReport.ID = "rvIReport_" & sReportLongName |
_dctReports.Add(dr.Item(0), TempReport) |
|
'add a reportviewer to a radpageview control |
TempPageView = New Telerik.Web.UI.RadPageView() |
TempPageView.ID = "RPV_" & sReportLongName |
TempPageView.Controls.Add(TempReport) |
|
'add the radpageview to the radmultipage control associated with the tabstrip |
RMPReports.Controls.Add(TempPageView) |
|
End While |
|
Catch ex As Exception |
'write to errors to the trace file |
_Tracer.WriteTrace("An error occured while attempting to create a datareader with the following SQL: " & vbCrLf & _ |
"[" & SQL & "].", ex) |
|
'write error to event log and redirect to error page |
Log_Error(Me, ex.ToString(), "IReportTemplate.LoadTabStrip") |
Finally |
'close the connection if necessary |
If cnn IsNot Nothing AndAlso cnn.State <> ConnectionState.Closed Then |
cnn.Close() |
End If |
End Try |
|
End Sub |
|
Private Sub ReLoadTabStrip() |
|
Dim TempControl As Control |
Dim TempPageView As Telerik.Web.UI.RadPageView |
Dim TempReport As ReportViewer |
|
Dim SQL As String |
Dim cnn As SqlConnection |
Dim cmd As SqlCommand |
Dim dr As SqlDataReader |
|
Dim sReportShortName As String |
Dim sReportLongName As String |
|
SQL = "SELECT " & vbCrLf & _ |
" rt.ReportName " & vbCrLf & _ |
" FROM ReportsInUsers ru (NOLOCK) " & vbCrLf & _ |
" INNER JOIN REF_ReportTypes rt (NOLOCK) ON ru.K_ReportTypeID = rt.K_ReportTypeID " & vbCrLf & _ |
" AND rt.ReportTab = 'QA Interactive' " & vbCrLf & _ |
" AND ru.UserName = '" & _sUserName & "' " & vbCrLf & _ |
" AND rt.Status = 'A' AND ru.FlagStatus = 'A' " |
|
Try |
'open the connection |
cnn = New SqlConnection(_sConnectionString) |
cnn.Open() |
|
'create a datareader |
cmd = New SqlCommand(SQL, cnn) |
dr = cmd.ExecuteReader() |
|
'find the existing radpageviews and add the new reportviewers |
While (dr.Read) |
|
'get the report name |
sReportShortName = CStr(dr.Item(0)).Replace("Quality Assurance", "QA").Replace(" On Demand", "") |
sReportLongName = CStr(dr.Item(0)).Replace(" ", "") |
|
'remove the old pageview |
TempControl = RMPReports.FindControl("RPV_" & sReportLongName) |
RMPReports.Controls.Remove(TempControl) |
TempControl = Nothing |
|
'create reportviewer control and save for later |
TempReport = New ReportViewer() |
TempReport.ID = "rvIReport_" & sReportLongName |
_dctReports.Add(dr.Item(0), TempReport) |
|
'create a new one |
TempPageView = New Telerik.Web.UI.RadPageView() |
TempPageView.ID = "RPV_" & sReportLongName |
TempPageView.Controls.Add(TempReport) |
RMPReports.Controls.Add(TempPageView) |
|
End While |
|
Catch ex As Exception |
'write to errors to the trace file |
_Tracer.WriteTrace("An error occured while attempting to create a datareader with the following SQL: " & vbCrLf & _ |
"[" & SQL & "].", ex) |
|
'write error to event log and redirect to error page |
Log_Error(Me, ex.ToString(), "IReportTemplate.ReloadTabStrip") |
Finally |
'close the connection if necessary |
If cnn IsNot Nothing AndAlso cnn.State <> ConnectionState.Closed Then |
cnn.Close() |
End If |
End Try |
|
|
End Sub |