ActiveReports for .NET 2.0JまでのActiveReportsでは、レポートのデータ設定ダイアログからデータ接続を行った場合、パブリック変数「ds」が自動的に生成されました。
しかし、3.0J以降では、この変数は生成されません。たとえば、サブレポートのデータ接続設定などのために、この変数を使用した処理をコードで行っている場合は、以下のように移行する必要があります。
赤色のコードは、3.0J以降では使用できません。
Visual Basic
| Visual Basic | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format
    Dim rpt As New rptSub()
    Dim subDS As New DataDynamics.ActiveReports.DataSources.OleDBDataSource()
    subDS.ConnectionString = Me.ds.ConnectionString
    subDS.SQL = "Select * from products where categoryID = " + m_categoryID
    rpt.DataSource = subDS
    Me.ctlSubreport.Report = rpt
End Sub
                         | 
                    |
C#
| C# | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
private void Detail_Format(object sender, System.EventArgs eArgs)
{
    rptSub rpt = new rptSub();
    DataDynamics.ActiveReports.DataSources.OleDBDataSource subDS = new DataDynamics.ActiveReports.DataSources.OleDBDataSource();
    subDS.ConnectionString = this.ds.ConnectionString;
    subDS.SQL = "Select * from products where categoryID = " + m_categoryID;
    rpt.DataSource = subDS;
    ctlSubreport.Report = rpt;
}
                         | 
                    |
Datasourceプロパティをキャストすることで同様の処理が可能です。緑色のコードを参照してください。
Visual Basic
| Visual Basic | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format
    Dim rpt As New rptSub()
    Dim subDS As New GrapeCity.ActiveReports.Data.OleDBDataSource
    subDS.ConnectionString = CType(Me.DataSource, GrapeCity.ActiveReports.Data.OleDBDataSource).ConnectionString
                         | 
                    |
C#
| C# | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
private void Detail_Format(object sender, System.EventArgs eArgs)
{
    rptSub rpt = new rptSub();
    GrapeCity.ActiveReports.Data.OleDBDataSource subDS = New GrapeCity.ActiveReports.Data.OleDBDataSource();
    subDS.ConnectionString = ((GrapeCity.ActiveReports.Data.OleDBDataSource)(this.DataSource)).ConnectionString;
    subDS.SQL = "Select * from products where categoryID = " + m_categoryID;
    rpt.DataSource = subDS;
    ctlSubreport.Report = rpt;
}
                         | 
                    |