2009-09-07 4 views
2

У меня есть List (Of MyObject) привязка к GridView в событии Page_Load. MyObject имеет дочерний объект как собственность, ChildObject, который также имеет собственное имущество, ChildProperty.Привязать к собственности собственности

В моей GridView, я хотел бы связать одно из полей в ChildProperty, но делать что-то вроде:

<asp:boundfield datafield="ChildObject.ChildProperty" /> 

приводит к ошибке:

System.Web.HttpException: A field or property with the name 'ChildObject.ChildProperty' was not found on the selected data source.

Как привязать к этому собственности, или это невозможно? Я полагаю, что я мог бы создать свойство ReadOnly в своем родительском объекте, чтобы прочитать свойство child, но это немного вонючий.

Любые идеи?

Спасибо!

+0

дубликата: Как вы связать GridView столбца со значением подкласса? - http://stackoverflow.com/questions/627996/how-do-you-bind-a-gridview-column-to-a-subclass-value –

ответ

4

Вы можете использовать:

<asp:TemplateField> 
    <ItemTemplate> 
    <%# DataBinder.Eval(Container, "DataItem.Property.ChildProperty.GrandChildProperty") %> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

ah, true. надеялся на более простой способ, но это определенно работает – Jason

Смежные вопросы