J'ai une grille qui lie un certain nombre d'objets de données enfants à des colonnes sans problème, en utilisant la syntaxe définie à http://www.telerik.com/help/aspnet-ajax/grdbindingtosubobjects.html.Comment lier une colonne de la grille telerik à un objet de données enfant qui est une liste?
Ce que je ne peux pas comprendre, cependant, est comment agréger un objet enfant qui est une liste ou une collection. Par exemple, si j'ai un objet Client et que je souhaite obtenir la première adresse postale du client, j'utiliserais DataField="Customer.Addresses[0].Street"
sur un GridBoundColumn
standard. Comment puis-je obtenir le nombre d'adresses? J'ai essayé toutes sortes de GridCalculatedColumn DataFields et Expressions, en vain. Je cherche quelque chose le long des lignes de celle-ci:
qui 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 unique avec possible « enfant «qualificatif."
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 pointé, tel que SendDate, ne provoque pas la même exception.
J'aime l'idée de faire un calcul sur la collection avant de la lier à RadGrid, mais comment l'obtenir dans la colonne agrégée? – schellack