List & Label .NET
combit.Reporting.DataProviders Namespace / ObjectDataProvider Klasse
Member


In diesem Thema
    ObjectDataProvider Klasse
    In diesem Thema

    Dieser Datenprovider kann dazu verwendet werden auf Objektstrukturen zuzugreifen. Er kann dabei mit folgenden Typen/Schnittstellen zusammenarbeiten:

    • IEnumerable (setzt jedoch mindestens einen Datensatz voraus)
    • IEnumerable<T>
    • IListSource

    Der Provider kann leere Aufzählungen durchlaufen solange diese stark typisiert sind. Ansonsten wird mindestens ein Element in der Aufzählung vorausgesetzt. Dieses erste Element bestimmt den Typ der für das weitere Durchlaufen verwendet wird.

    Der Provider unterstützt Sortierung automatisch sobald die Datenquelle die IBindingList Schnittstelle implementiert.

    Sie können diesen Datenprovider auch dazu verwenden um auf LINQ Abfrageresultate zuzugreifen, da diese IEnumberable<T> sind.

    Bei Verwendung von EntityCollection<T>-Objekten als Datenquelle prüft der ObjectDataProvider zunächst mit Hilfe der IsLoaded-Eigenschaft den Zustand der Unterrelation und ruft gegebenenfalls dynamisch Load() auf. Damit werden die Daten nur bereitgestellt wenn sie benötigt werden.

    Objektmodell
    ObjectDataProvider Klasse
    Syntax
    'Deklaration
     
    
    Public NotInheritable Class ObjectDataProvider 
       Implements ICanHandleUsedIdentifiers, IDataProvider, combit.Reporting.ISupportsLogger 
    public sealed class ObjectDataProvider : ICanHandleUsedIdentifiers, IDataProvider, combit.Reporting.ISupportsLogger  
    public ref class ObjectDataProvider sealed : public ICanHandleUsedIdentifiers, IDataProvider, combit.Reporting.ISupportsLogger  
    Bemerkungen

    Um die einzlenen Eigenschaften der Klasse beeinflussen zu können, stehen die folgenden Möglichkeiten zur Verfügung:

    • Implementieren der ITypedList-Schnittstelle in der Klasse, um Namen und Typen bestimmen zu können implementieren
    • Das DisplayName-Attribut für den Namen verwenden
    • Das FieldType-Attribut für den Typen verwenden
    • Das Attribut Browsable(false) verwendet, um Eigenschaften zu unterdrücken
    Beispiele
    class Car
    {
        public string Brand { get; set; }
        public string Model { get; set; }
       
        [FieldType(LlFieldType.PDF)]
        public string FactSheet { get; set; }
       
        [Browsable(false)]
        public double Discount { get; set; }
    }
    
    List<Car> cars = new List<Car>();
    cars.Add(new Car { Brand = "VW", Model = "Passat", FactSheet = @"c:\temp\VWPassatSheet.pdf", Discount = 10});
    cars.Add(new Car { Brand = "Porsche", Model = "Cayenne", FactSheet = @"c:\temp\PorscheCayenneSheet.pdf", Discount = 15});
    
    LL.DataSource = new ObjectDataProvider(cars);
    LL.Design();
    
    Vererbungshierarchie

    System.Object
       combit.Reporting.DataProviders.ObjectDataProvider

    Anforderungen

    Siehe auch