2010-10-25 15 views
0

Ce que j'essaie de faire, c'est d'avoir un bouton d'édition qui, au lieu d'ouvrir la ligne pour l'éditer, vous redirige vers une page où vous pouvez éditer. Est-ce possible? J'ai essayé quelque chose avec le modèle de client, mais le rendu de grille l'ignore complètement.Telerik MVC Grid: Mettre un bouton dans une colonne

+0

http://stackoverflow.com/questions/2243898/displaying-standard-datatables-in-mvc w/Modèle fortement typé as System.Data.DataTable –

Répondre

6

Oui, vous pouvez placer un composant dans une colonne de la grille. Voici un exemple de la façon dont j'ai lié la colonne Id avec un lien Action à l'action d'édition passant dans l'Id.

J'ai supprimé les autres colonnes du modèle pour plus de clarté.

 
     Html.Telerik().Grid(Model) 
      .Name("Items") 
      .DataKeys(keys => { keys.Add(x => x.Id); }) 
      .Columns(columns => 
      { 
       columns.Bound(x => x.Id).Title("").Format(Html.ActionLink("edit", "Edit", new { id = "{0}" }).ToHtmlString()).Encoded(false).Width(60); 
      }) 
      .Render(); 
+0

Puis-je donner à la classe html.actionlink une classe css? –

+0

Bien sûr. Il utilise la méthode d'aide Html normale: Html.ActionLink ("edit", "Edit", nouveau {id = "{0}", @ class = "mycss"} –

+0

J'ai codé le dernier commentaire. ActionLink ("modifier", "Modifier", nouveau {id = "{0}"}, nouveau {@ class = "mycss"}) –

2

Vous pouvez utiliser la méthode modèle à la place:

@(Html.Telerik().Grid(Model) 
     .Name("Items") 
     .DataKeys(keys => { keys.Add(x => x.Id); }) 
     .Columns(columns => 
     { 
      columns.Bound(x => x.Id) 
       .Title("") 
       .Template(@Html.ActionLink("edit", "Edit", new { x.id })) 
       .Width(60); 
     }) 
)