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;
}
|