or
@(Html.Kendo().Grid(Model) // Bind the grid to the Model property of the view .Name("Usuarios") .AutoBind(true) .Columns(columns => { columns.Bound(p => p.Id).Visible(false); columns.Bound(p => p.Nombre).Width(300); columns.Bound(p => p.Apellido1).Width(300); columns.Bound(p => p.Apellido2).Width(300); columns.Bound(p => p.Codusuario).Width(300); columns.Bound(p => p.Fechacambiopassword).Width(300); columns.Bound(p => p.Idperfil).Width(300); columns.ForeignKey(p => p.Idperfil, (System.Collections.IEnumerable)ViewBag.Perfiles, "Id", "Descripcion").Width(300).EditorTemplateName("PerfilesDropDownList"); columns.Command(command => { command.Edit(); command.Custom("Eliminar").Click("grid_remove"); }).Width(200); }) .ToolBar(commands => commands.Create()) .Sortable(s => s.SortMode(GridSortMode.SingleColumn)) .Filterable() .Pageable() .Scrollable(scroll => scroll.Height("auto")) .Editable(editable => editable.Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(false).TemplateName("UsuariosEdicion").Window(w => w.Title("Editar Usuario").Width(700))) .DataSource(dataSource => dataSource .Ajax() .Sort(sort => sort.Add("Apellido1").Ascending()) .Model(model => model.Id(p => p.Id)) .Create(create => create.Action("InsertarUsuario", "Account")) .Read(read => read.Action("ObtenerUsuarios", "Account").Data("getAdditionalData")) .Update(update => update.Action("ModificarUsuario", "Account")) .Destroy(destroy => destroy.Action("EliminarPerfil", "Account")) .Events(e => e.RequestStart("grid_mostrarspinner").RequestEnd("grid_ocultarspinner").Error("error")) .PageSize(5) ) .Events(e => e.Remove("grid_remove").Edit("editar")) )public async Task<JsonResult> InsertarUsuario([DataSourceRequest] DataSourceRequest request, Usuarios usuario) { if (ModelState.IsValid) { Error error = await ServicioSeguridad.Current.InsertarUsuarioAsync(usuario); } return Json(new[] { usuario }.ToDataSourceResult(request, this.ModelState)); }public async Task<JsonResult> ObtenerUsuarios([ModelBinder(typeof(MyDataSourceRequestBinder))] MyDataSourceRequest request, FiltroBusquedaUsuarios filtrousuario) { MyDataSourceRequest req = new MyDataSourceRequest { Page = request.Page, Aggregates = request.Aggregates, Filter = request.Filter, PageSize = request.PageSize, Group = request.Group, Sort = request.Sort }; MyDataSourceResult usuarios = await ServicioSeguridad.Current.ObtenerUsuariosFiltrosAsync(req, filtrousuario, ""); //Debug.WriteLine("total:" + usuarios.Total.ToString()); DataSourceResult resultado = new DataSourceResult { Data = usuarios.Data, Total = usuarios.Total, AggregateResults =null, Errors = null }; //Debug.WriteLine("Data:" + ((List<Usuarios>)resultado.Data).Count.ToString()); Parse p = new Parse(); DataSourceRequest requestKendo = p.ParseRequest(request.Page, request.PageSize, request.Sort, request.Group, request.Filter, request.Aggregates); //DataSourceResult resultado = usuarios.ToDataSourceResult(requestKendo); return Json(resultado, JsonRequestBehavior.AllowGet); }function rellenargrid() { var grid = $("#Usuarios").data("kendoGrid"); //llama al read del grid grid.dataSource.fetch(); }