2010-09-08 5 views
2

J'ai une application MVC asp.net où j'utilise la grille telerik pour afficher les données/enregistrements. J'utilise le modèle d'entité.Afficher les colonnes sélectionnées dynamiquement dans la grille mvc asp.net à l'exécution

Mon exigence est que parfois je veux montrer seulement certaines des colonnes spécifiées au moment de l'exécution/que l'utilisateur peut sélectionner. Comment lier View avec uniquement les colonnes sélectionnées par l'utilisateur. Initialement, la vue est liée à la classe Modèle avec toutes les colonnes.

Existe-t-il un moyen autre que telerik d'afficher les colonnes personnalisées sélectionnées par l'utilisateur alors ce sera également OK.

Répondre

1

Vous pouvez personnaliser les colonnes affichées à l'aide de la méthode Columns. Vous devez avoir les informations sur les colonnes doivent afficher dans le modèle de vue afin que vous puissiez à l'exécution sélectionner les colonnes à afficher:

<%= Html.Telerik() 
     .Grid(Model.Customers) 
     .Name("Grid") 
     .Columns(columns => 
     { 
      if (Model.IsShowFirstName) 
      { 
       columns.Bound(customer => customer.FirstName); 
      } 
      if (Model.IsShowLastName) 
      { 
       columns.Bound(customer => customer.LastName); 
      } 
     }) 
%> 
+0

Est-ce le IsShowFirstName est la propriété du modèle classe –

+0

Oui , c'est une propriété du modèle de vue à laquelle la vue est fortement typée. –

1
<%= Html.Telerik() 
    .Grid(Model.Customers) 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(customer => customer.FirstName).Visible(Model.IsShowFirstName); 
     columns.Bound(customer => customer.LastName).Visible(Model.IsShowLastName); 
    }) 
%>