作成日: 2022/08/03 最終更新日: 2022/08/03
文書種別
使用方法
詳細
レコードごとに異なる画像を表示するため、データベースに個々の画像へのパスを格納した後、レポートのImageFieldのPictureプロパティに指定する方法が考えられます。
以下に、"Field1"という名のImageFieldをレポートに追加し、データベースのImagePathフィールドにそのパスを格納してバインドし、画像を表示するサンプルコードを紹介します。
(事前準備)
・レポートデザイナで、Detailセクションに"Field1"という名のImageFieldと"Field2"という名のTextFieldを追加したレポート(Test01.flxr)を作成します。
・"ImagePath"および"Discription"という名のフィールドを追加した"テーブル1"という名のテーブルを持つ.mdb(TestData.mdb)を作成します。
・実際の各画像を、パスで指定した場所へコピーしておきます。

◎サンプルコード(VB)
以下に、"Field1"という名のImageFieldをレポートに追加し、データベースのImagePathフィールドにそのパスを格納してバインドし、画像を表示するサンプルコードを紹介します。
(事前準備)
・レポートデザイナで、Detailセクションに"Field1"という名のImageFieldと"Field2"という名のTextFieldを追加したレポート(Test01.flxr)を作成します。
・"ImagePath"および"Discription"という名のフィールドを追加した"テーブル1"という名のテーブルを持つ.mdb(TestData.mdb)を作成します。
・実際の各画像を、パスで指定した場所へコピーしておきます。

◎サンプルコード(VB)
Imports C1.Win.FlexReport
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' レポートの読み込み
C1FlexReport1.Load("..\..\Test01.flxr", "レポート 1")
' データベースにバインドし、使用するテーブル名を指定
C1FlexReport1.DataSource.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..\..\TestData.mdb"
C1FlexReport1.DataSource.DataProvider = DataProvider.OLEDB
C1FlexReport1.DataSource.RecordSource = "テーブル1"
' ImageField、TextFieldの設定
Dim pField As ImageField = C1FlexReport1.Sections.Detail.Fields("Field1") '画像の表示
pField.Picture = "=ImagePath"
Dim sField As TextField = C1FlexReport1.Sections.Detail.Fields("Field2") 'テキストの表示
sField.Text = "=Discription"
' プレビュー表示
C1FlexReport1.Render()
C1FlexViewer1.DocumentSource = C1FlexReport1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
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(@"..\..\Test01.flxr", "レポート 1");
// データベースにバインドし、使用するテーブル名を指定
c1FlexReport1.DataSource.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..\\..\\TestData.mdb";
c1FlexReport1.DataSource.DataProvider = DataProvider.OLEDB;
c1FlexReport1.DataSource.RecordSource = "テーブル1";
// ImageField、TextFieldの設定
ImageField pField = (ImageField)c1FlexReport1.Sections.Detail.Fields["Field1"]; //画像の表示
pField.Picture = "=ImagePath";
TextField sField = (TextField)c1FlexReport1.Sections.Detail.Fields["Field2"]; //テキストの表示
sField.Text = "=Discription";
// プレビュー表示
c1FlexReport1.Render();
c1FlexViewer1.DocumentSource = c1FlexReport1;
}
}
}