作成日: 2022/11/18 最終更新日: 2023/02/28
文書種別
使用方法
詳細
レポートデザイナで名刺のテンプレートを設計し、1枚のA4用紙に、2列×5行=計10枚の名刺を出力するサンプルです。1枚のテンプレートを繰り返し出力するには、レポートのLayoutプロパティで、ColumnLayoutを"Labels"に、Columnsを"2"に設定します。
詳細な設定手順は以下の通りです。
【レポートデザイナ】
新規レポートを作成し、以下の設定を行い、任意の名前(例:Label.flxr)で保存します。
・Detailセクション以外のセクションをVisible=Falseに設定します。
・Detailセクションのサイズを以下のように設定します。
高さ=3118、幅=A4サイズの半分より若干少なめに設定。
・レポートのLayoutプロパティに以下を設定します。
ColumnLayout="Labels"
Columns="2"
・TextFieldを7つ貼り付けます。
(会社名、役職名、氏名、郵便番号、住所、電話番号、e-Mailアドレス用)
・BarCodeFieldを1つ貼り付けます。
※本ナレッジに、Label.flxrを添付していますので、ご参照ください。
【Visual Studio プロジェクト】
新規プロジェクトを作成し、後述するコードを設定して、作成したレポートの読み込み、DataTableの作成、データソースの設定、TextFieldの設定、ビューワーへの表示を行います。
◎サンプルコード(VB)
詳細な設定手順は以下の通りです。
【レポートデザイナ】
新規レポートを作成し、以下の設定を行い、任意の名前(例:Label.flxr)で保存します。
・Detailセクション以外のセクションをVisible=Falseに設定します。
・Detailセクションのサイズを以下のように設定します。
高さ=3118、幅=A4サイズの半分より若干少なめに設定。
・レポートのLayoutプロパティに以下を設定します。
ColumnLayout="Labels"
Columns="2"
・TextFieldを7つ貼り付けます。
(会社名、役職名、氏名、郵便番号、住所、電話番号、e-Mailアドレス用)
・BarCodeFieldを1つ貼り付けます。
※本ナレッジに、Label.flxrを添付していますので、ご参照ください。
【Visual Studio プロジェクト】
新規プロジェクトを作成し、後述するコードを設定して、作成したレポートの読み込み、DataTableの作成、データソースの設定、TextFieldの設定、ビューワーへの表示を行います。
◎サンプルコード(VB)
Imports C1.Win.FlexReport
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexReport1.Load("..\..\Label.flxr", "Labels")
Dim dt As DataTable = GetMyDataTable()
C1FlexReport1.DataSource.Recordset = dt
Dim tField1 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field1"), TextField)
tField1.Text = "=ColumnA"
Dim tField2 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field2"), TextField)
tField2.Text = "=ColumnB"
Dim tField3 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field3"), TextField)
tField3.Text = "=ColumnC"
Dim tField4 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field4"), TextField)
tField4.Text = "=ColumnD"
Dim tField5 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field5"), TextField)
tField5.Text = "=ColumnE"
Dim tField6 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field6"), TextField)
tField6.Text = "=ColumnF"
Dim tField7 As TextField = CType(C1FlexReport1.Sections.Detail.Fields("Field7"), TextField)
tField7.Text = "=ColumnG"
Dim bField11 As BarCodeField = CType(C1FlexReport1.Sections.Detail.Fields("Field11"), BarCodeField)
bField11.Text = "=ColumnH"
C1FlexReport1.Render()
C1FlexViewer1.DocumentSource = C1FlexReport1
C1FlexViewer1.ZoomMode = C1.Win.FlexViewer.FlexViewerZoomMode.WholePage
End Sub
Private Function GetMyDataTable() As DataTable
Dim s1 As String = "シャルドネ株式会社"
Dim s2 As String = "営業部 企画販売課 "
Dim s3 As String = "葡萄 太郎"
Dim s4 As String = "〒981-3205 "
Dim s5 As String = "宮城県仙台市泉区紫山1 "
Dim s6 As String = "022-777-0000"
Dim s7 As String = "aaaaaa@grapecity.com"
Dim dt As DataTable = New DataTable()
dt.Columns.Add("ColumnA", GetType(String))
dt.Columns.Add("ColumnB", GetType(String))
dt.Columns.Add("ColumnC", GetType(String))
dt.Columns.Add("ColumnD", GetType(String))
dt.Columns.Add("ColumnE", GetType(String))
dt.Columns.Add("ColumnF", GetType(String))
dt.Columns.Add("ColumnG", GetType(String))
dt.Columns.Add("ColumnH", GetType(String), "ColumnD + ColumnE")
For i As Integer = 0 To 10 - 1
dt.Rows.Add(s1, s2, s3, s4, s5, s6, s7)
Next
dt.AcceptChanges()
Return dt
End Function
End Class
◎サンプルコード(C#)
using C1.Win.FlexReport;
namespace prj_C1FlexReport
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// レポートの読み込み
c1FlexReport1.Load(@"..\..\Label.flxr", "Labels");
// データテーブルの作成
DataTable dt = GetMyDataTable();
// データソースの設定
c1FlexReport1.DataSource.Recordset = dt;
// TextFieldの設定
TextField tField1 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field1"];
tField1.Text = "=ColumnA";
TextField tField2 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field2"];
tField2.Text = "=ColumnB";
TextField tField3 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field3"];
tField3.Text = "=ColumnC";
TextField tField4 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field4"];
tField4.Text = "=ColumnD";
TextField tField5 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field5"];
tField5.Text = "=ColumnE";
TextField tField6 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field6"];
tField6.Text = "=ColumnF";
TextField tField7 = (TextField)c1FlexReport1.Sections.Detail.Fields["Field7"];
tField7.Text = "=ColumnG";
BarCodeField bField11 = (BarCodeField)c1FlexReport1.Sections.Detail.Fields["Field11"];
bField11.Text = "=ColumnH";
// プレビュー表示
c1FlexReport1.Render();
c1FlexViewer1.DocumentSource = c1FlexReport1;
c1FlexViewer1.ZoomMode = C1.Win.FlexViewer.FlexViewerZoomMode.WholePage;
}
DataTable GetMyDataTable()
{
String s1 = "シャルドネ株式会社";
String s2 = "営業部 企画販売課 ";
String s3 = "葡萄 太郎";
String s4 = "〒981-3205 ";
String s5 = "宮城県仙台市泉区紫山1 ";
String s6 = "022-777-0000";
String s7 = "aaaaaa@grapecity.com";
DataTable dt = new DataTable();
dt.Columns.Add("ColumnA", typeof(String));
dt.Columns.Add("ColumnB", typeof(String));
dt.Columns.Add("ColumnC", typeof(String));
dt.Columns.Add("ColumnD", typeof(String));
dt.Columns.Add("ColumnE", typeof(String));
dt.Columns.Add("ColumnF", typeof(String));
dt.Columns.Add("ColumnG", typeof(String));
dt.Columns.Add("ColumnH", typeof(String), "ColumnD + ColumnE");
for (int i = 0; i < 10; i++)
{
dt.Rows.Add(s1, s2, s3, s4, s5, s6, s7);
}
dt.AcceptChanges();
return dt;
}
}
}