or
We got a demo working by doing something like (after setting .Filterable(false).Sortable(true) on the column):
public ActionResult _Items([DataSourceRequest]DataSourceRequest request){ var favSort = request.Sorts.FirstOrDefault(s => s.Member == "IsFavorite"); if (favSort != null) { request.Sorts.RemoveAt(request.Sorts.IndexOf(favSort)); request.Filters.Add(new FilterDescriptor("IsFavorite", FilterOperator.IsEqualTo, favSort.SortDirection == ListSortDirection.Ascending)); } //...}Any thoughts on how to implement any of this?
Thanks!
/Victor
@(Html.Kendo().Grid<MyViewModel>() .Name("my-list") .HtmlAttributes(new { @class = "grid" }) .DataSource(d => { var dsStep = d.Ajax(); dsStep.Read(read => read.Action("_Index", "Matter")) .PageSize(Model.InitialPageSize); }) .Columns(columns => { columns.Bound(p => p.Selected).Sortable(false).ClientTemplate( "<input type='hidden' name='list.Index' value='#=ID#'/>" + "<input type='checkbox' id='list_#=ID#__Selected' name='list[#=ID#].Selected' value='true'/>").Width(50); columns.Bound(p => p.Name).Template(t => { Html.ActionLink(t.Name, "Index", "Detail", new { id = t.ID }); }) .ClientTemplate("<a href='" + @Url.Content("~/Detail/Index") + "/#=ID#'>#=Name#</a>"); columns.Bound(p => p.Number).Width(50); columns.Bound(p => p.Clients).Sortable(false); columns.Bound(p => p.Area.Name).Width(100); columns.Bound(p => p.Staff).Sortable(false); columns.Bound(p => p.DateOpenedFormatted).Sortable(true);; }) .Resizable(r => r.Columns(true)) .Events(events => events.DataBound("wow")) .Pageable() .Sortable(sort => sort.SortMode(GridSortMode.SingleColumn)) .Selectable(a => a.Mode(GridSelectionMode.Multiple).Type(GridSelectionType.Row))).ToolBar(toolBar => { toolBar.Save(); toolBar.Create().Text("Add row!"); })[HttpPost]
public ActionResult Create( [DataSourceRequest]DataSourceRequest request, [Bind(Prefix = "models")]FormCollection addedRoles) {
try { // code here to update the database from the addedRoles FormCollection. This part works fine. ModelState.Clear() // I added this in to see if it makes a difference...it does not. }catch (Exception ex) {
ModelState.AddModelError("", ex.Message);
}
return Json(ModelState.ToDataSourceResult());
}