レポートの接続文字列を動的に変更するには?

レポートの接続文字列を動的に変更する場合、レポートの形式よって方法が異なります。

  1. セクションレポートの場合

    セクションレポートで接続文字列を動的に変更する場合、「スクリプト」の機能を使用します。以下のサンプルコードは、パラメータで受け取ったフラグによって、CSVデータソースの接続先を動的に変更する一例を示します。「パラメータ」の詳細については、製品ヘルプの「パラメータ」のトピックを参照してください。

    <サンプルコード(スクリプト)>
    ---------------------------------------------------------------------------------------------------

    Sub ActiveReport_ReportStart

        Dim csv As New GrapeCity.ActiveReports.Data.CsvDataSource()
        Dim connectionString As String = String.Empty

        connectionString = "Path=C:\\Data\\Sample1.csv;Encoding=shift_jis;Locale=ja-JP;TextQualifier="""
        connectionString = connectionString & ";ColumnsSeparator=,;RowsSeparator=\r\n;HasHeaders=True"

        // パラメータ”Flg”がTrueの場合は、読み込むCSVを変更します。
        If rpt.Parameters("Flg").Value Then
            connectionString = "Path=C:\\Data\\Sample2.csv;Encoding=shift_jis;Locale=ja-JP;TextQualifier="""
            connectionString = connectionString & ";ColumnsSeparator=,;RowsSeparator=\r\n;HasHeaders=True"

        End If

        csv.ConnectionString = connectionString
        rpt.DataSource = csv

    End Sub

    ---------------------------------------------------------------------------------------------------

  2. ページ/RDLレポートの場合

    ページ/RDLレポートで接続文字列を動的に変更する場合、カスタムセキュリティプロバイダを構成し、ユーザーごとに持たせたUserContext属性を使用して、動的に設定を切り替える方法がございます。カスタムセキュリティプロバイダとUserContext属性の使用方法については、製品ヘルプの「マルチテナントに対するUserContext属性の設定(ページレポート/RDLレポート)」を参照してください。

0 コメント

記事コメントは受け付けていません。