Announcement

Collapse
No announcement yet.

"Geschachtelte" Properties als BoundField bei GridView?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "Geschachtelte" Properties als BoundField bei GridView?

    Hallo liebe Forengemeinde,

    Ich habe folgendes Problem. Ich habe eine Klasse Combiner, welche 2 Objekte (Foo und Bar) miteinander kombiniert. Foo und Bar sind eigenständige Klassen, deren Daten aus einer DB gelesen werden.

    Combiner beinhaltet also eine public Property für Foo und für Bar:
    Code:
    class Combiner{
    public Foo FooRef {get; set};
    public Bar BarRef {get; set};
    ...
    }
    Nun möchte ich die Properties, die sich in Foo und Bar befinden, in einem GridView anzeigen, d.h. ein Combiner-Objekt pro Grid-Zeile.

    Dazu habe ich mir eine Methode GetFooBar() geschrieben so in der Art:
    Code:
    Combiner GetFooBar(){ return new Combiner(myDbAccess); }
    Das GridView möchte ich an eine ObjectDataSource binden, welche diese Methode GetFooBar() aufruft. Soweit so gut und kein Problem.

    Allerdings können die Elemente im GridView wohl nur "direkte" Properties aus dem Combiner nutzen und nicht die eigentlichen Daten, die in Foo und Bar enthalten sind. Gibt es eine einfache und elegante Möglichkeit, auch über den Combiner aus der GridView heraus an die Foo/Bar-Properties heranzukommen? Im Prinzip möchte ich in der GridView so etwas wie:
    HTML Code:
    <asp:GridView ID="GridView1" runat="server" DataSourceID="MyODS">
        <Columns>
            <asp:BoundField DataField="FooRef.Data1" ... />
            <asp:BoundField DataField="FooRef.Data2" ... />
            <asp:BoundField DataField="BarRef.Value5" ... />    </Columns>
    </asp:GridView>
    <asp:ObjectDataSource ID="MyODS" runat="server" 
        SelectMethod="GetFooBar" 
        TypeName="MyClass">
    </asp:ObjectDataSource>
    Könnt ihr mir hier weiterhelfen?


    Viele Grüße,
    Matthias
    Zuletzt editiert von DevMatthias; 16.10.2008, 15:41.
Working...
X