Je travaille sur un projet ASP.NET MVC 4.5 avec Razor et KendoUI. J'ai les deux catégories suivantes:Grille KendoUI. Plusieurs valeurs dans une colonne
public class Rol
{
[Key]
[ScaffoldColumn(false)]
public int RolId { get; set; }
[Required]
[MaxLength(50)]
public string Name{ get; set; }
[MaxLength(255)]
public string Desciption { get; set; }
public bool Active{ get; set; }
[DisplayName("Permissions")]
public virtual ICollection<Permission> Permissions { get; set; }
}
public class Permission
{
[Key]
[ScaffoldColumn(false)]
public int PermisoId { get; set; }
[Required]
[MaxLength(50)]
public string Name { get; set; }
[MaxLength(255)]
public string Description { get; set; }
public bool Active { get; set; }
public ICollection<Rol> Rols { get; set; }
}
Mais je ne sais pas comment faire une grille qui comporte des colonnes:
colonne avec Rol.Name | colonne avec Rol.Description | colonne avec Rol.Active | colonne avec tous Rol.Permissions.Name (liste)
Et spport les opérations CRUD de KendoUI
De l'avis je:
@model IEnumerable<ItemsMVC.Models.Rol>
@(
Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(c =>
{
c.Bound(p => p.RolId).Visible(false);
c.Bound(p => p.Name);
c.Bound(p => p.Description);
c.Bound(p => p.Active)
.ClientTemplate("#= Active ? 'yes' : 'No' #")
.Width(100);
**HERE THE LIST OF PERMISSIONS**
c.Command(p => {
p.Edit();
p.Destroy();
}).Width(200);
}
)
.Pageable(p => p.Enabled(true))
.Scrollable(s => s.Enabled(true))
.Sortable(s => s.Enabled(true))
.Filterable(f => f.Enabled(true))
.ColumnMenu(c => c.Enabled(true))
.ToolBar(t => t.Create())
.Editable(e => e.Mode(GridEditMode.PopUp))
.DataSource(ds => ds
.Ajax()
.Model(model =>model.Id(p => p.RolId))
.Create(c => c.Action("EditingInline_Create", "Rol"))
.Read(r => r.Action("Permisos_Read","Rol"))
.Update(u => u.Action("EditingInline_Update", "Rol"))
.Destroy(d => d.Action("EditingInline_Destroy", "Rol"))
)
)
Utilisez un ClientTemplate pour composer plusieurs champs dans une colonne. – OnaBai