作成日: 2022/08/03 最終更新日: 2022/08/03
文書種別
使用方法
詳細
データプロバイダとしてMicrosoft Jet 4.0 OLE DB Providerを利用し、製品付属のC1NWind.mdbをレポートのデータソースとして指定し、レポートを表示する方法を以下に紹介します。
コードでこれを行うには、C1FlexReport.DataSourceのConnectionStringプロパティにデータベースを、RecordSourceプロパティにデータベースのテーブル名を指定します。
次いで、レポートのフィールドのTextプロパティに「=列名」の形でデータベースのフィールド名を設定します(*1)。
*1:レポートのフィールドのText.Expressionプロパティにフィールド名を直接設定してもOKです。
以下に、レポートの"Field4"と"Field5"に、データベース内の "Employees" テーブルの "EmployeeID" と "FirstName" のデータを表示するサンプルコードを紹介します。
事前にレポートデザイナで、Detailセクションに"Field4"と"Field5"という2つのTextFieldを追加したレポート(Demo.flxr)を作成し、プロジェクトに追加してください。
◎サンプルコード(VB)
※レポートデザイナを使用して、UI上からデータベースにバインドする方法については、製品ヘルプのクイックスタートを参照してください。
◇製品ヘルプ
クイックスタート
コードでこれを行うには、C1FlexReport.DataSourceのConnectionStringプロパティにデータベースを、RecordSourceプロパティにデータベースのテーブル名を指定します。
次いで、レポートのフィールドのTextプロパティに「=列名」の形でデータベースのフィールド名を設定します(*1)。
*1:レポートのフィールドのText.Expressionプロパティにフィールド名を直接設定してもOKです。
以下に、レポートの"Field4"と"Field5"に、データベース内の "Employees" テーブルの "EmployeeID" と "FirstName" のデータを表示するサンプルコードを紹介します。
事前にレポートデザイナで、Detailセクションに"Field4"と"Field5"という2つのTextFieldを追加したレポート(Demo.flxr)を作成し、プロジェクトに追加してください。
◎サンプルコード(VB)
Imports C1.Win.FlexReport
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' レポートの読み込み
C1FlexReport1.Load(Application.StartupPath + "\..\..\Demo.flxr", "レポート 1")
' データベースにバインドし、使用するテーブル名を指定
C1FlexReport1.DataSource.RecordSourceType = RecordSourceType.Auto
Dim ds As DataSource = C1FlexReport1.DataSource
Dim dsPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString()
ds.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + dsPath + "\ComponentOne Samples\Common\C1NWind.mdb"
ds.RecordSource = "Employees"
' TextFieldの設定
Dim textField1 As TextField = DirectCast(C1FlexReport1.Fields("Field4"), TextField) 'データ表示フィールド1
textField1.Text = "=EmployeeID"
'textField1.Text.Expression = "EmployeeID"
Dim textField2 As TextField = DirectCast(C1FlexReport1.Fields("Field5"), TextField) 'データ表示フィールド2
textField2.Text = "=FirstName"
'textField2.Text.Expression = "FirstName"
' プレビュー表示
C1FlexReport1.Render()
C1FlexViewer1.DocumentSource = C1FlexReport1
End Sub
End Class
◎サンプルコード(C#)
using System.Windows.Forms;
using C1.Win.FlexReport;
namespace prj_FlexReport
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// レポートの読み込み
c1FlexReport1.Load(Application.StartupPath + @"\..\..\Demo.flxr", "レポート 1");
// データベースにバインドし、使用するテーブル名を指定
c1FlexReport1.DataSource.RecordSourceType = RecordSourceType.Auto;
DataSource ds = c1FlexReport1.DataSource;
string dsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString();
ds.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + dsPath + @"\ComponentOne Samples\Common\C1NWind.mdb";
ds.RecordSource = "Employees";
// TextFieldの設定
TextField textField1 = (TextField)c1FlexReport1.Fields["Field4"]; // データ表示フィールド1
textField1.Text = "=EmployeeID";
//textField1.Text.Expression = "EmployeeID";
TextField textField2 = (TextField)c1FlexReport1.Fields["Field5"]; // データ表示フィールド2
textField2.Text = "=FirstName";
//textField2.Text.Expression = "FirstName";
// プレビュー表示
c1FlexReport1.Render();
c1FlexViewer1.DocumentSource = c1FlexReport1;
}
}
}
※レポートデザイナを使用して、UI上からデータベースにバインドする方法については、製品ヘルプのクイックスタートを参照してください。
◇製品ヘルプ
クイックスタート