I have a ASP.net gridview that I am trying bind to. My DataSource has a collection and 2 of the columns I am binding to are part of a subclass. My DataSource has a subclas
The data binding mechanism behind ASP.NET GridView supports only one level bindings. (as opposed to its WinForms Binding counterpart that supports multi-level in the case of binding to a DataSet / DataTable / DataView).
You have three possible solutions:
The [Name].[Name] syntax is not supported by BoundField. Only simple property names.
Mark,
I am 99.9% sure that you will have to handle this in the codebehind on the ItemDataBound event for the individual row.
Remember you can get the whole databould object from e.Item.DataItem
I believe you can get this to work using a Template field and a markup scriptlet...
<asp:TemplateField>
<ItemTemplate>
<asp:Label Id="lblSubclassVal" runat="server" Text="<%# DataBinder.Eval(Container.DataItem, "SubClass.PropertyName")%>"></asp:Label>
</ItemTemplate>
</asp:TemplateField>