2013-01-13 20 views
9

私はDelphi QuickReportでレポートを作成して印刷しました。 .NET C#でこれを行うには何が使えますか?c#winformでのレポートの印刷と作成

いくつかのレポート要素(MicrosoftレポートとCrystalレポート)を自分のプロジェクト(Winformsアプリケーション)に追加しましたが、私が見たところでは、データベースからのみデータを挿入できます。私が望むのは、実行時に作成されたオブジェクトの値を使用することです。これは私のレポートが実際に領収書と請求書で構成されているためです。

私のニーズに最も適したツールはどれですか?

答えて

14

データベースを必要とせずにレポートを生成するために、組み込みレポートを使用することができます。

あなたのデータのためのクラスを作成し、私の場合、私は人のクラスを作成するつもりです:

class Person 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string AddressLine1 { get; set; } 
    public string AddressLine2 { get; set; } 
} 
  • 次私は新しい項目の追加(レポートウィザードを使用してレポートを追加するつもりです - >レポート - >レポートウィザード)。

  • データソースについては、オブジェクトを選択してPersonクラスにポイントします。 Datasource from a class

  • 詳細を表示する列を選択してください。単純にするため、すべての値を値にドラッグしています。

Report Wizard Fields

  • だけでデフォルトを選択し、ウィザードの残りの部分を歩くと、あなたは、あなたのレポートが表示されるはずです。

  • これで、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(); 
    

Final Report

+0

本当にありがとうございました。その本当に完全で役立つ。私は水晶のレポートをインストールしたことを伝えたいと思います。クリスタルではなく内蔵のレポートを使用する方が良いと思いますか? – Andres

+0

@Andres正解または間違った答えはなく、「良い」ものはありません。それぞれの機能を見て、アプリケーションとユースケースに最適なものを判断する必要があります。 CRとマイクロソフトのツールはどちらも長い時間をかけてきており、過去の時代から残されている非常に完全な機能といくつかの特有の動作を持っています。私の提案はあなた自身の研究を行い、あなた自身の結論に至ることです。 –

+0

とにかく、私はグラフとその種のもので後でレポートを行う必要があります。マイクロソフトのレポートはそれらをサポートしていますか?再度、感謝します! – Andres

1

Crystal Reportsは完全に機能します。実際には、データベースなしでレポートを生成することができます。 thisプロジェクトをチェックしてください。これはあなたが始めようとするもので、あなたがしようとしているものとまったく同じです。

これはあなたを助けます!

+0

ありがとうございました!それは役に立つ例です! – Andres

関連する問題