2009-05-04 10 views
4

コードスニペット、チュートリアルのリンク、またはオブジェクトの一覧からMicrosoft Reportでレポートを作成する方法に関する情報は誰でも提供できますか?Microsoft WinForm ReportViewer from List

私は、次のDogクラスを持っている:次に、ウィンドウのフォームで、私はこのようなMyNS.Dogオブジェクトの一覧から移入したいレポートビューアーobjetctを持って

namespace MyNS 
{ 
    public class Dog 
    { 
     public int Legs { get; set; } 
     public string Name { get; set; } 
     public string Breed { get; set; } 
    } 
} 

List<MyNS.Dog> MyDogs = new List<MyNS.Dog>(); 
// populate array here 
// and use it as datasource for ReportViewer 

ありがとうございます!現地レポートで

答えて

2

、あなたはこのようなあなたのデータソースを指定することができます:WinフォームのReportViewerのために

var reportViewer = New ReportViewer(); 
var reportDataSource = New ReportDataSource("MyNS_Dog", MyDogs); 
reportViewer.LocalReport.DataSources.Add(reportDataSource); 
+0

驚くばかりです。試しに行くとあなたに知らせる。 –

+0

これらの項目をリスト内のテキストボックスに入れたいのであれば、レポート内のテキストボックス(RDLC)自体のパラメータはどうなりますか? –

4

:次のコード

public class Dog 
    { 

     int legs; 

     public int Legs 
     { 
      get { return legs; } 
      set { legs = value; } 
     } 
     string name; 

     public string Name 
     { 
      get { return name; } 
      set { name = value; } 
     } 
     string breed; 

     public string Breed 
     { 
      get { return breed; } 
      set { breed = value; } 
     } 

    } 

    public class DogBll 
    { 
     List<Dog> myDog; 
     public DogBll() 
     { 
      myDog = new List<Dog>(); 
      myDog.Add(new Dog() { Legs = 10, Name = "mimi", Breed = "german" }); 
      myDog.Add(new Dog() { Legs = 4, Name = "momo", Breed = "english" }); 
     } 
     public List<Dog> GetDogs() 
     { 
      return myDog; 
     } 
    } 

あなたにReportViewerコントロールを追加し、あなたのソリューションを構築するが含まをレポートビューアsmarttagで、新しいレポートを作成し、オブジェクトデータソースを選択し、クラスを展開して、オブジェクトクラスのデータソースとしてDogクラスをチェックします。レポートビューアコントロールを再度選択し、新しく作成したレポートを選択すると、DogBindingSourceが自動的に作成されます。フォームクラスで、次のコードをクラスの先頭に追加します。あなたは、公共部分クラスForm1の後の最初の行を使用することができます:フォーム{文ではなく、コンストラクタformload(オン

private DogBll _dogBll = new DogBll(); 

)の前に、追加します。

this.DogBindingSource.DataSource = _dogBll.GetDogs(); 

WebフォームのReportViewerの場合:あなたが提供しなければなりませんこのクラスにはデフォルトのコンストラクタが含まれている必要があります。

namespace MyNS 
{ 
    public class Dog 
    { 
     public int Legs { get; set; } 
     public string Name { get; set; } 
     public string Breed { get; set; } 
    } 
    public class DogBll 
    { 
     public DogBll() 
     { 
     } 
     public List<Dog> GetDogs(List<Dog> myDog)//make sure you set the parameter in object datasource 
     { 
      return myDog; 
     } 
    } 
} 

は、レポートビューアウィザードコントロールを追加し、作成したばかりの新しい機能、GetDogs()などのデータソースを選択し、あなたの犬のクラスの3つのパブリックプロパティに基づいてレポートを定義します。フォームにオブジェクトデータソースを追加し、オブジェクトデータソースを使用するようにレポートをポイントします。最後に、オブジェクトデータソースのGetDogs()のパラメータを設定します。

関連する問題