Delphi QuickReportで、レポートの作成と印刷に使用しました。 .NET C#でこれを行うために何を使用できますか?
プロジェクト(Winformsアプリ)にいくつかのレポート要素(MicrosoftレポートとCrystalレポート)を追加しましたが、データベースからのデータしか挿入できないことがわかりました。私が欲しいのは、実行時に作成されたオブジェクトの値を使用することです。これは、私のレポートが実際には領収書と請求書で構成されているためです。
私のニーズに使用するのに最適なツールはどれですか?
組み込みのレポートを使用して、データベースを必要とせずにニースレポートを生成できます。
データのクラスを作成します。私の場合は、personクラスを作成します。
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
}
次に、レポートウィザード([新しいアイテムの追加]-> [レポート]-> [レポートウィザード])を使用してレポートを追加します。
データソースとして、Objectを選択し、Personクラスをポイントします。
詳細に必要な列を選択します。簡単にするために、すべての列を値にドラッグしています。
デフォルトを選択するだけでウィザードの残りの部分をウォークスルーすると、レポートが表示されます。
これで、ReportViewerコントロールをフォームに追加し、作成したばかりのレポートにレポートを設定できます。これにより、フォームにもPersonBindingSourceが作成されます。
PersonBindingSourceのデータをメモリ内のリストに設定します。
BindingList<Person> myPeople = new BindingList<Person>();
myPeople.Add(new Person() { FirstName = "John" , LastName = "Doe"});
myPeople.Add(new Person() { FirstName = "Jane" , LastName = "Doe"});
myPeople.Add(new Person() { FirstName = "Jerry" , LastName = "Smithers" });
PersonBindingSource.DataSource = myPeople;
reportViewer1.RefreshReport();
this.reportViewer1.RefreshReport();
最終レポートは次のようになります。
CrystalReportsは完璧に機能します。実際には、データベースなしでレポートを生成できます。 this プロジェクトをチェックしてください。そうすれば、あなたは始められるはずであり、あなたがやろうとしていることとまったく同じです。
あなたはこれがあなたを助けます!