サンプル集  >  C#  >  Crystal Reports
Crystal Reports
2017/01/28

Crystal Reports

OS Windows 10 Home 64bit
C# 00322-20000-00000-AA059

以下の手順を行います。

  1. [ファイル]-[新規作成]-[プロジェクト]を選択。
  2. [テンプレート]-[Visual C#]-[Windows フォーム アプリケーション]を選択。
  3. 名前に「CRTest」と入力し「OK」ボタンを押下。

プロジェクトが生成されたら、プロジェクト名を右クリックして[追加]-[新しい項目]を選択します。

[Visual C# アイテム]を選択し、右側の[DataSet]を選択します。 名前はデフォルトで表示された「DataSet1.xsd」のままにしました。

メッセージに従い、右クリックします。

[追加]-[DataTable(D)]を選択します。

「DataTable1」という名前の表が追加されました。

「DataTable1」という表を右クリックし[追加]-[列]を選択します。

「DataColumn1」という名前の列が追加されました。

同じ手順でもう一列追加します。

プロジェクト名を右クリックして[追加]-[新しい項目]を選択します。

[Visual C# アイテム]-[Reporting]を選択し、右側の[Crystal Reports]を選択します。 名前はデフォルトで表示された「CrystalReport1.rpt」のままにしました。 [追加]ボタンを押すとウィザードが起動します。

「OK」ボタンを押します。

「利用可能なデータソース」欄の[プロジェクトデータ]-[ADO.NET データセット]-[CRTest.DataSet1]-[DataTable1]を選択し中央の「>」ボタンを押し右側の「選択したテーブル」に表示させます。 [次へ]ボタンを押します。

中央の「>>」ボタンを押し全てのカラムを右側の「表示するフィールド」に表示させます。 [次へ]ボタンを押します。

[次へ]ボタンを押します。

[次へ]ボタンを押します。

[終了]ボタンを押します。

レポートのプレビューを表示するためのフォームを追加します。 プロジェクト名を右クリックして[追加]-[新しい項目]を選択します。

[Visual C# アイテム]を選択し、右側の[Windows フォーム]を選択します。 名前はデフォルトで表示された「Form2.cs」のままにしました。

追加されたForm2にCrystal Reportsのプレビューを配置します。

ツールボックスを開き[CrystalReportViewer]を選択しForm2にドラッグします。

追加したCrystalReportViewerのgetを追加します。

Form2.cs
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
using CrystalDecisions.Windows.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CRTest
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public CrystalReportViewer CrystalReportViewer1
        {
            get { return this.crystalReportViewer1; }
        } 
    }
}

続いてプレビューを表示するためのボタンをForm1に配置します。

ボタンを押したらデータセットに値を設定しプレビューを表示するようにします。

Form1.cs
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CRTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var ds = new DataSet1();
            var dt = ds.DataTable1;
            dt.AddDataTable1Row("01""one");
            dt.AddDataTable1Row("02""two");
            dt.AddDataTable1Row("03""three");

            var cr1 = new CrystalReport1();
            cr1.SetDataSource(ds);

            var previewForm = new Form2();
            previewForm.CrystalReportViewer1.ReportSource = cr1;
            previewForm.Show();
        }
    }
}

実行してボタンを押したらエラーが出ました。

App.configにuseLegacyV2RuntimeActivationPolicy="true"を追加します。

App.config
1: 
2: 
3: 
4: 

5: 
6: 
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true"
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.
5.2"
 />
    </startup>
</configuration>

再度実行します。

レポートが表示されました!

▲ PageTop  ■ Home


Copyright (C) 2017 ymlib.com