レポートの接続文字列を動的に変更する場合、レポートの形式よって方法が異なります。
- セクションレポートの場合
セクションレポートで接続文字列を動的に変更する場合、「スクリプト」の機能を使用します。以下のサンプルコードは、パラメータで受け取ったフラグによって、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 - ページ/RDLレポートの場合
ページ/RDLレポートで接続文字列を動的に変更する場合、カスタムセキュリティプロバイダを構成し、ユーザーごとに持たせたUserContext属性を使用して、動的に設定を切り替える方法がございます。カスタムセキュリティプロバイダとUserContext属性の使用方法については、製品ヘルプの「マルチテナントに対するUserContext属性の設定(ページレポート/RDLレポート)」を参照してください。
0 コメント