Comment lier une colonne de grille de telerik à un objet de données enfant qui est une liste?

StackOverflow https://stackoverflow.com/questions/3480189

Question

J'ai une grille qui se fixe un certain nombre d'objets de données de l'enfant aux colonnes sans problème, en utilisant la syntaxe définie à http://www.telerik.com/help/aspnet-ajax/grdbindingtosubobjects.html .

Ce que je ne peux pas comprendre, cependant, est de savoir comment regrouper un objet enfant qui est une liste ou d'une collection. Par exemple, si j'ai un objet client et je veux obtenir la première adresse de la rue du client, j'utiliser DataField="Customer.Addresses[0].Street" sur un GridBoundColumn standard. Comment puis-je obtenir le nombre des adresses? J'ai essayé toutes sortes de GridCalculatedColumn DataFields et expressions, en vain. Je cherche quelque chose le long des lignes de ceci:

Cela ne fonctionne pas, bien sûr. En fait, si je tente de faire un compte sur un champ de données en pointillés, je reçois une exception

  

" System.Data.SyntaxErrorException: Erreur de syntaxe dans l'argument global:. Attendons un argument de colonne simple avec possible qualificatif 'enfant' "

Par exemple, en essayant simplement d'utiliser une expression de Count({0}) avec DataFields mis à Customer.FirstName (dont il n'y a qu'une seule), fait exception que d'être jeté à l'exécution. Faire la même chose avec un champ de données non en pointillés, comme DateEnv, ne provoque pas la même exception.

Était-ce utile?

La solution

On dirait que vous avez déjà reçu une réponse à cette question de la Forums Telerik mais pour les gens qui pourraient tomber par hasard sur cette question à la recherche d'une réponse.

Essentiellement, le RadGrid ne supporte pas d'avoir dans ses collections DataFields, et les types de propriété liable pris en charge peuvent être trouvés ici . Donc, en termes de cette agrégation, vous pouvez soit faire un calcul à travers cette collection avant de se lier à la RadGrid et ont une colonne globale définie, ou vous pouvez regarder dans les pieds de page un peu comme dans cette démo .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top