2012-04-23 6 views
0

これは面白いです。パラメータを渡した後、新しいウィンドウを開きます。この新しいウィンドウには、レポートビューアのコントロールがあります。 VIEW NEXT PAGEボタンをクリックするまで、コントロールをロードして、すべて表示します。 - レポートをリロードし、ページ1から再び開始します。レポートビューアloingパラメータを選択した場合NEXT PAGE

CODE:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim strTitle As String 
     Dim strReportName As String 
     Dim tstr As String 

     tstr = "-o-" 
     strReportName = "" 
     strTitle = "Praxima CENTAURI Report Viewer : REPORT : " 

     'If Not IsPostBack Then 
     If Not String.IsNullOrEmpty(Request.QueryString("prm")) Then 
      tstr = Request.QueryString("prm").ToString() 
     End If 
     'End If 

     'tstr = Request.QueryString("prm").ToString() 
     Me.Title = tstr 'strTitle + strReportName 
     SetReportProperties(tstr) 
    End Sub 
    Private Sub SetReportProperties(ByVal CSVString As String) 
     Dim paramList As Generic.List(Of ReportParameter) = New Generic.List(Of ReportParameter)() 
     With ReportViewer1 
      .ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote 
      With .ServerReport 
       Dim PParm(0) As String 
       Dim PValue(0) As String 
       Dim cnt As Integer = 1 
       Dim AType As String = "P" 
       Dim Marker As Integer = 1 
       Dim Pcnt As Integer = 0 
       Dim Vcnt As Integer = 0 
       Dim iLoop as Integer 
       For cnt = 1 To Len(CSVString) 

        If Mid(CSVString, cnt, 1) = "," And AType = "P" Then 
         ReDim Preserve PParm(Pcnt) 
         PParm(Pcnt) = Mid(CSVString, Marker, cnt - Marker) 
         'CSVString = Mid(CSVString, cnt + 1, Len(CSVString) - cnt) 
         cnt = cnt + 1 
         AType = "V" 
         Marker = cnt 
         Pcnt = Pcnt + 1 
        End If 
        If Mid(CSVString, cnt, 1) = "," And AType = "V" Or cnt = Len(CSVString) Then 
         ReDim Preserve PValue(Vcnt) 
         If cnt = Len(CSVString) Then 
          PValue(Vcnt) = Mid(CSVString, Marker, (cnt - Marker) + 1) 
         Else 

          PValue(Vcnt) = Mid(CSVString, Marker, cnt - Marker) 
         End If 
         'CSVString = Mid(CSVString, cnt + 1, Len(CSVString) - cnt) 
         cnt = cnt + 1 
         AType = "P" 
         Marker = cnt 
         Vcnt = Vcnt + 1 
        End If 

        '     Dim pUri As New Uri(PValue(0)) 


       Next 
       .ReportServerUrl = New Uri("http://localhost/reportserver") 'New Uri(PValue(0).ToString) 
       .ReportPath = "/praxima/rptZZ-FullPayDetails" 'PValue(1) 


       Dim pinfo As ReportParameterInfoCollection = .GetParameters() 
       Dim Parray As Integer = 1 
       For Each p As ReportParameterInfo In pinfo 
        Parray = Parray + 1 
        If Parray > 1 And Parray < pinfo.Count Then 
         paramList.Add(New ReportParameter(PParm(Parray).ToString, PValue(Parray).ToString)) 
        End If 
       Next 



       If paramList.Count > 0 Then 
        'MsgBox(paramList.Item(2).Values.Item(1).ToString, vbOKOnly,) 

        .SetParameters(paramList) 

       End If 


      End With 
      .ShowParameterPrompts = False 

     End With 


    End Sub 
+0

page_loadでは、Me.IsPostBackを確認しましたか? – rt2800

+0

「次のページを表示」ボタンを処理するコードを投稿してください。結果をどこに再バインドするかを確認する必要があります。また、上記のコードでは、現在のページ番号の参照はありません。 –

+0

ReportViewerコントロール(ReportingServices参照)のボタンです。私はfdirectコントロールを持っていません。それは、MSからの所有権制御の一部である。 –

答えて

0

私が代わりに直接画面に派手なロゴなどを持っていることについて心配のレポートと呼ばれます。私は、CSSスタイルシートを使ってレポートを "かなりアップ"しています。

<title>Untitled Page</title> 
<script type="text/javascript"> 
    function open_win() 
     { 
      var Parms = document.getElementById('PassParmString').value; 
      window.open(Parms) 

}

とこのようになります渡されるパラメータ文字列:

Me.PassParmString.Text = Me.PassParmString.Text + "&ClientName=ZZZZ&StartDateString=2011/01/01&EndDateString=2011/01/31&GiveBlankOutput=Yes&Level2From= &Level2To=ZZZZZZZZ&Level3From= &Level3To=ZZZZZZZZ&Level4From= &Level4To=ZZZZZZZZ&Level5From= &Level5To=ZZZZZZZZ&EmpNumFrom= &EmpNumTo=ZZZZZZZZ&EmpNameFrom= &EmpNameTo=ZZZZZZZZ&CostCentFrom= &CostCentTo=ZZZZZZZZ&OutputSeq=Name&EntireYear=No&StartYearString=2011-03-01" 

MAC Page_Loadイベントで

-1

いけないコールSetReportPropertiesを。 button_clickのようなイベントで呼び出す。

関連する問題