2009-09-07 3 views
2

J'ai une liaison List (Of MyObject) à un GridView dans l'événement Page_Load. MyObject a un objet enfant comme une propriété, ChildObject qui a également une propriété elle-même, ChildProperty.Liaison à la propriété d'une propriété

Dans mon GridView, je voudrais lier l'un des champs à ChildProperty, mais faire quelque chose comme:

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

provoque une erreur:

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

Comment puis-je lier à ce propriété, ou n'est-ce pas possible? Je suppose que je pourrais créer une propriété ReadOnly dans mon objet parent juste pour lire la propriété enfant, mais c'est un peu malodorant.

Des idées?

Merci!

+0

double: Comment lier vous une colonne GridView à une valeur de sous-classe? - http://stackoverflow.com/questions/627996/how-do-you-bind-a-gridview-column-to-a-subclass-value –

Répondre

4

Vous pouvez utiliser:

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

ah, vrai. espérait un moyen plus facile, mais cela fonctionne vraiment – Jason

Questions connexes