or
EditorTemplate:
<div class="k-widget"> @Html.HiddenFor(model => model.Id) <div class="edit-buttons"> <a class="k-button k-button-icontext k-update-button" href="\\#"><span class="k-icon k-update"></span></a> <a class="k-button k-button-icontext k-cancel-button" href="\\#"><span class="k-icon k-cancel"></span></a> </div> <dl> <dt> @Html.LabelFor(model => model.SharedWith) </dt> <dd> @(Html.Kendo().MultiSelectFor(model => model.SharedWith) .DataValueField("Id") .DataTextField("Name") .Placeholder("Type user's name...") .DataSource(source => { source.Read(read => { read.Action("Users", "User"); }); }) .TagTemplate("<div class=""tag-image""><img src=""#: Picture #"" height=""32"" /></div>") .ItemTemplate("<div class=""item-image""><img src=""#: Picture #"" height=""32"" /></div>")) </dd> </dl></div>@(Html.Kendo() .Grid<DO.Admin.Utente>() .Name("grid") .Columns(columns => { columns.Bound(x => x.IDDipendente).Visible(false); columns.Bound(x => x.IDUtente); columns.Bound(x => x.Nominativo); columns.Bound(x => x.Societa); columns.Bound(x => x.Filiale); columns.Bound(x => x.Ruolo); columns.Bound(x => x.Profilo); columns.Bound(x => x.Funzioni); columns.Bound(x => x.Stato).EditorTemplateName("StatoTemplate");//ClientTemplate("#=stati.statiName#"); columns.Bound(x => x.AccessoEureka); }) .Pageable() .Scrollable() .Editable(editable => editable.Mode(GridEditMode.InCell)) .DataSource(dataSource => dataSource .Ajax() .Model(model => { model.Id(x => x.IDDipendente); model.Field(x => x.IDUtente).Editable(false); model.Field(x => x.Nominativo).Editable(false); model.Field(x => x.Societa).Editable(false); model.Field(x => x.Filiale); model.Field(x => x.Ruolo); model.Field(x => x.Profilo); model.Field(x => x.Funzioni); model.Field(x => x.Stato); model.Field(x => x.AccessoEureka); }) .Read(read => read.Action("GetListaUtenti", "GestioneUtenti")) ))@{ Layout = null;}@(Html.Kendo().DropDownList() .Name("Stato") .HtmlAttributes(new { style = "width: 250px" }) .DataTextField("Descr") .DataValueField("ID") .DataSource(source => { source.Read(read => { read.Action("GetListaStati", "Common", new { Area = string.Empty }); }).ServerFiltering(false); }) )
columns.Bound(p => p.Employee).ClientTemplate("#=Employee.EmployeeText#").Width(110);//This column for foreign key[UIHint("EmployeeForeignKeyEditor")]public EmployeeViewModel Employee { get; set; }@model SpinePOCViewModel.ViewModels.EmployeeViewModel@(Html.Kendo().ComboBox().DataTextField("EmployeeText").DataValueField("EmployeeID").Name("Employee").Placeholder("Select Employee").DataSource(source =>{source.Read(read =>{read.Action("MarketingCoordinatorcb_Read", "Marketing");}).ServerFiltering(true);}).AutoBind(false))public ActionResult MarketingCoordinatorcb_Read(){ViewBag.Employees=SomeFunctionToGetData();return Json((List<EmployeeViewModel>)ViewBag.Employees, JsonRequestBehavior.AllowGet);}public partial class EmployeeViewModel{public int EmployeeID { get; set; }public virtual string EmployeeText { get;set;}}<div class="k-edit-field" data-container-for="TeamId"> <input data-role="combobox" data-bind="value: TeamId" /></div>How can I do this in the MVC world? I think I can't have all done via Mvc without using javascript... or should I create a viewmodel that holds those collections?
If I use "pure" js I would have 3 calls to the service from js, store the values and perform as I've written above
Any suggestion?
Thanks