Frage

Kann mir jemand einen Codeschnipsel, Tutorial Link oder Informationen darüber, wie Sie einen Bericht in Microsoft Report aus einer Liste von Objekten erstellen?

Ich habe folgendes Hundeklasse:

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

Dann in Window Forms, habe ich eine Report objetct, die ich von einem Liste füllen möchte MyNS.Dog Objekte wie folgt aus:

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

Irgendwelche Ideen?

Danke!

War es hilfreich?

Lösung

Für einen lokalen Bericht Sie Ihre Datenquelle wie folgt angeben:

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

Andere Tipps

Für winform Report: den folgenden Code

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;
        }
    }

bauen Sie Ihre Lösung Fügen Sie eine Reportviewer-Steuerelement auf dem Formular, auf dem Report SmartTag, erstellen Sie einen neuen Bericht, und wählen Sie Objekt-Datenquelle, erweitern Sie Ihre Klasse und überprüfen Sie die Dog-Klasse als Objekt-Datenquelle. Wählen Sie eine Reportviewer-Steuerelement wieder, und wählen Sie den neu erstellten Bericht wird ein DogBindingSource automatisch erstellt. In Ihrer Formularklasse, fügen Sie an die Spitze der Klasse den folgenden Code ein. Sie können die erste Zeile nach der öffentlichen Teil Klasse verwenden Form1: Form {Anweisung, aber vor dem Konstruktor

private DogBll _dogBll = new DogBll();

Ein Formload () hinzufügen:

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

Für webform Report. Sie sollten eine Funktion zur Verfügung stellen, die eine Liste von Hund, in dieser Klasse zurückkehren wird es einen Standardkonstruktor enthalten sollte

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;
      }
    }
} 

einen Report Viewer-Assistenten-Steuerelement hinzufügen, wählen Sie die Datenquelle als die neue Funktion, die Sie gerade erstellt haben, GetDogs (), definieren Sie Ihren Bericht auf der Grundlage der drei öffentlichen Eigenschaften in Ihrer Hundeklasse. Fügen Sie ein Objekt Datenquelle in Ihrem Formular, richten Sie den Bericht das Objekt Datenquelle zu verwenden. Schließlich stellen Sie den Parameter von GetDogs () im Objekt-Datenquelle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top