Hi,
ich habe ein GridView, in dem ich mir automatisch die Eigenschaften einer Liste mit Bankverbindungsdaten anzeigen lasse.
Die Klasse hat die Eigenschaften KtoNr, KtoName, KtoOrt (die drei sind vom Typ String) und Bank (ist ne eigene Klasse mit den Eigenschaften Name, Blz usw.).
Gibt es eine einfache Möglichkeit, wie ich mir in der Liste auch den Namen und die Blz der Bank anzeigen lassen kann?
Ich dachte erst, es würde vielleicht so gehen:
<asp:GridView ID="gvBankverbindungen" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="KtoName" HeaderText="Konto Name" />
<asp:BoundField DataField="KtoOrt" HeaderText="Konto Ort" />
<asp:BoundField DataField="KtoNr" HeaderText="Konto Nummer" />
<asp:BoundField DataField="Bank.Blz" HeaderText="Bankleitzahl" />
<asp:BoundField DataField="Bank.Name" HeaderText="Name der Bank" />
</Columns>
</asp:GridView>
Aber so geht es leider nicht. Dann dachte ich an eine ToString()-Methode in Bank, die mir den Namen ausgibt. Dann könnte ich mit DataField="Bank" zumindest den Namen anzeigen. Aber dann habe ich immer noch nicht die Blz...
Kann mir bitte jemand dabei helfen?
Geht mMn nach nicht "auf Eigenschaft einer untergeordneten Klasse zu greifen".
Kannst nur auf die Eigenschaften der Basisklasse zugreifen.
Musst halt die Properties, nach aussen mappen.
Ja, aber genau das wollte ich nicht... Aber ich habe nun eine andere Lösung gefunden: TemplateField. Das nutze ich dann in der Art:
<asp:TemplateField HeaderText="Bankleitzahl">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Bank.Blz") %>' />
</ItemTemplate>
</asp:TemplateField>