
Dieser Datenprovider kann dazu verwendet werden auf Objektstrukturen zuzugreifen. Er kann dabei mit folgenden Typen/Schnittstellen zusammenarbeiten:
Um die Eigenschaftsnamen und -typen zu beeinflussen, können Sie entweder die ITypedList Schnittstelle in Ihrer Klasse implementieren oder DisplayNameAttribute verwenden. Um Member zu unterdrücken, wenden Sie das Attribut Browsable(False) auf die Member an.
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.
'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
class Car { public string Brand { get; set; } public string Model { get; set; } } List<Car> cars = new List<Car>(); cars.Add(new Car { Brand = "VW", Model = "Passat"}); cars.Add(new Car { Brand = "Porsche", Model = "Cayenne"}); LL.DataSource = new ObjectDataProvider(cars); LL.Design();
Class Car Private m_Brand As String Public Property Brand() As String Get Return m_Brand End Get Set m_Brand = Value End Set End Property Private m_Model As String Public Property Model() As String Get Return m_Model End Get Set m_Model = Value End Set End Property End Class Dim cars As New List(Of Car)() cars.Add(New Car() With {.Brand = "VW", .Model = "Passat"}) cars.Add(New Car() With {.Brand = "Porsche", .Model = "Cayenne"}) LL.DataSource = New ObjectDataProvider(cars) LL.Design()
System.Object
combit.Reporting.DataProviders.ObjectDataProvider