PowerTools ActiveReports for .NET 9.0J
FetchData イベント
使用例 

新しいレコードが処理されるごとに発生します。
構文
'宣言
 
Public Event FetchData As SectionReport.FetchEventHandler
public event SectionReport.FetchEventHandler FetchData
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、SectionReport.FetchEventArgs 型の引数を受け取りました。次の SectionReport.FetchEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
EOFこのパラメータは参照によって渡されます。デフォルト値は true です。レポートにデータコントロールがまったくないときに、さらにレコードの処理を続行する場合は、明示的に false に設定する必要があります。レポートがデータコントロールに連結されている場合、このパラメータの値は無視され、すべてのレコードが処理されるまで、レポートの実行が継続されます。  
解説

このイベントは、DataInitializeイベントで追加されたカスタムアンバウンドフィールドの値を設定するために使用します。ActiveReportsは、このイベントが発生する前にアンバウンドフィールドの値をNullにすることはありません。アンバウンドフィールドの値はそのまま持ち越されるので、常にこのイベントですべてのアンバウンドフィールドの値を設定する必要があります。

レポート内で処理すべきレコードがまだ残っている場合にはeArgs.EOFを falseにします。eArgs.EOFを true にするとレポートの生成処理が終了します。このeArgs.EOFを制御することで、レポートに空白行を挿入することができます。

注意:DataInitialize、およびFetchDataイベント以外でFieldCollectionを参照しないでください。

使用例
"private void rptUnbound_DataInitialize(object sender, System.EventArgs eArgs) 
{ 
  // アンバウンドフィールドを作成します。 
  Fields.Add("CategoryName"); 
  Fields.Add("ProductName"); 
  Fields.Add("UnitsInStock"); 
  Fields.Add("Description"); 
   
  //作成したアンバウンドフィールドをTextBoxコントロールと連結します。 
  txtCategoryName.DataField = "CategoryName"; 
  txtProductName.DataField = "ProductName"; 
  txtUnitsInStock.DataField = "UnitsInStock"; 
  txtDescription.DataField = "Description";     
} 
 
private void rptUnbound_FetchData(object sender, GrapeCity.ActiveReports.SectionReport.FetchEventArgs eArgs) 
{ 
  try 
  { 
    // データーベースの値をアンバウンドフィールドに設定します。 
    m_reader.Read(); 
    Fields["CategoryName"].Value = m_reader["CategoryName"].ToString(); 
    Fields["ProductName"].Value = m_reader["ProductName"].ToString(); 
    Fields["UnitsInStock"].Value = m_reader["UnitsInStock"].ToString(); 
    Fields["Description"].Value = m_reader["Description"].ToString(); 
    // まだ処理すべきデータが残っているのでEOF引数にFalseを設定し、継続します。 
    eArgs.EOF = false; 
  } 
    catch 
  { 
    eArgs.EOF = true; 
  } 
} 
 
private static OleDbConnection m_cnn; 
private static OleDbDataReader  m_reader; 
 
private void rptUnbound_ReportStart(object sender, System.EventArgs eArgs) 
{ 
  string m_cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
    + @"..\..\..\..\Data\NWIND.MDB;Persist Security Info=False"; 
  string sqlString = "SELECT * FROM categories INNER JOIN products" 
    + " ON categories.categoryid = products.categoryid" 
    + " ORDER BY products.categoryid
"Dim m_cnnString As String
Dim sqlString As String
Dim m_reader As OleDbDataReader
Dim m_cnn As OleDbConnection

Private Sub rptUnbound_DataInitialize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.DataInitialize
  ' アンバウンドフィールドを作成します。
  Fields.Add("CategoryName")
  Fields.Add("ProductName")
  Fields.Add("UnitsInStock")
  Fields.Add("Description")

  ' 作成したアンバウンドフィールドをTextBoxコントロールと連結します。
  txtCategoryName.DataField = "CategoryName"
  txtProductName.DataField = "ProductName"
  txtUnitsInStock.DataField = "UnitsInStock"
  txtDescription.DataField = "Description"
End Sub

Private Sub rptUnbound_FetchData(ByVal sender As Object, ByVal eArgs As GrapeCity.ActiveReports.SectionReport.FetchEventArgs) Handles MyBase.FetchData
  Try
    ' データーベースの値をアンバウンドフィールドに設定します。
    m_reader.Read()
    Me.Fields("CategoryName").Value = m_reader("CategoryName")
    Me.Fields("ProductName").Value = m_reader("ProductName")
    Me.Fields("UnitsInStock").Value = m_reader("UnitsInStock")
    Me.Fields("Description").Value = m_reader("Description")

    ' まだ処理すべきデータが残っているのでEOF引数にFalseを設定し、継続します。
    eArgs.EOF = False
  Catch ex As Exception
    eArgs.EOF = True
  End Try
End Sub

Private Sub rptUnbound_ReportStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.ReportStart
  m_cnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
     + "Data Source=..\..\..\..\Data\NWIND.MDB;Persist Security Info=False"
  sqlString = "SELECT * FROM categories INNER JOIN products ON categories.categoryid " _
     + "= products.categoryid ORDER BY products.categoryid
参照

関連項目

SectionReport クラス
SectionReport メンバ
DataInitialize イベント

アーキテクチャと概念

データ連結
イベント

 

 


©2003-2015 GrapeCity inc. All rights reserved.