lier deux champs dans le modèle client pour un kendo colonne de la grille
J'obtiens une exception InvalidOperationException avec un message disant:
les colonnes liées besoin d'un champ ou de l'accès à la propriété de l'expression
Mon rasoir balisage va comme ceci:
(@Html.Kendo().Grid<StackInfo>()
.Columns(col =>
{
col.Bound(e => e.FileID).Title("ID");
col.Bound(e => e.Name).Title("Filename");
col.Bound(e => e.Status);
col.Bound(e => new { Status = e.Status, FileID = e.FileID }).ClientTemplate("#if(Status == 'new') {#"
+ "<a href=\"View?TaskID=#FileID#\">View</a>"
+ "#} else {#"
+ "<a href=\"Open?TaskID=#FileID#\">Open</a>"
+ "#} #").Title(string.Empty);
})
.AutoBind(false)
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("Tasks_Read", "Task"))
.PageSize(10)
)
.Pageable()
.Name("tasksGrid")
.Scrollable(k => k.Height(205)))
Ce que je suis en train d'accomplir est que la grille affiche une colonne supplémentaire; il fournit un lien, dont l'action est en fait basé sur la valeur dans le champ d'État. Donc j'ai écrit mon ClientTemplate comme si.
Cependant j'obtiens une exception à cette ligne. Quelle est la bonne façon de le faire?
OriginalL'auteur deostroll | 2014-01-17
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est dans
.Bound(e => new { Status = e.Status, FileID = e.FileID })
de votre quatrième colonne. Essayez ce code:Essayez d'utiliser
#: #
modèle istead de# #
de valeurs de rendu. Vous pouvez mélanger comme dans cet exemple: docs.telerik.com/kendo-ui/framework/templates/overview (dernier exemple de code sur ce site)OriginalL'auteur Jarosław Kończak