2010-01-08 6 views
0

J'ai une classe qui contient un dictionnaire de propriétés (sac de propriétés) à côté des propriétés normales. Je voudrais afficher une collection de cet objet dans une table en utilisant la grille de MvcContrib.Utilisation de la grille MvcContrib avec des dictionnaires et des listes

La classe:

public class ObjectWithPropertyBag 
{ 
    public string Property1 { get; set; } 
    public string Property2 { get; set; } 

    public Dictionary<string, string> PropertyBag { get; set; } 
} 

Mon GridModel (ObjectWithPropertyBagGridModel):

Column.For(x => x.Property1); 
Column.For(x => x.Property2); 
Column.For(x => x.PropertyBag)//how to display keys as columns and values as table data 

Mon point de vue:

Html.Grid(ViewData.Model.ObjectWithPropertyBag).WithModel(new ObjectWithPropertyBagGridModel()) 

Est-il possible de parcourir le dictionnaire et créer les colonnes ?

Merci.

Répondre

1

Quelque chose comme:

foreach (var prop in PropertyBag) column.For(prop.Value).Named(prop.Key); 

Je ne me souviens pas syntaxe exacte, mais pour autant que je me souvienne, vous ne devez pas utiliser lambdas. Ou peut-être cela devrait être .For (""). Value (prop.Value) ... il suffit de vérifier les sources de Grid (ou google) pour les surcharges.

+0

Peu importe combien je bidouille autour de mon code, je ne peux pas faire ce travail! –

Questions connexes