or
<div class="filter"> <label class="filter-label" for="filter">Filter:</label> @(Html.Kendo().DropDownList() .Name("filter") .DataTextField("Text") .DataValueField("Value") .Events(e => e.Change("onChange")) .BindTo(new List<SelectListItem>() { new SelectListItem() { Text = "Pending Reviews", Value = "N" }, new SelectListItem() { Text = "Complete Reviews", Value = "Y" } }) ) </div><br class="clear" /><br /> @(Html.Kendo().Grid<PASSAdmin.ViewModels.ResourceReviewer.ResourceReviewViewModel>() .Name("gridResourceReviews") .Columns(columns => { columns.Command(command => { command.Edit(); }).Width(50); columns.Bound(m => m.Proposal_ID).Title("Proposal ID"); columns.Bound(m => m.Proposal_Title).Title("Title"); columns.Bound(m => m.PI_BNL_ID).Title("PI"); columns.Bound(m => m.Date_Submitted).Title("Date Submitted"); }) .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("ResourceReviewer/ResourceReview").Window(window => window.Width(700))) .Pageable() .Sortable() .Events(e => e.Edit("onEdit")) .DataSource(dataSource => dataSource .Server() .Model(model => { model.Id(m => m.Beamtime_Request_ID); model.Field(m => m.Beamline_Request_ID); }) .Read(read => read.Action("GetResourceReviews", "ResourceReviewer")) .Update(update => update.Action("AddResourceReview", "ResourceReviewer")) ))<script type="text/javascript">function onEdit(e) { $(e.container).parent().css({ width: '700px', height: '350px' }); $(e.container.find(".k-edit-buttons.k-state-default")).css("width", "660px");}function onChange() { var filter = this.value(); alert(filter); $.get('/ResourceReviewer/GetResourceReviews', { reviewComplete: filter }, function (data) { var grid = $("#gridResourceReviews").data("kendoGrid"); grid.dataSource.read(); });}</script>public ActionResult GetResourceReviews(string reviewComplete, [DataSourceRequest]DataSourceRequest request){ User user = new User(); int user_id = user.GetUserIDByBNLAccount(User.Identity.Name); int resource_id = UserSession.LastViewedResourceID.GetValueOrDefault(); if (UserPermissions.VerifyResourceRole(user_id, resource_id, "Resource_Reviewer")) { using (PASSEntities context = new PASSEntities()) { var vm = (from a in context.Beamtime_Requests join b in context.Proposals on a.Proposal_ID equals b.ID join c in context.Technique_Requests on a.ID equals c.Beamtime_Request_ID join d in context.Beamline_Requests on c.ID equals d.Technique_Request_ID join e in context.Beamlines on d.Beamline_ID equals e.ID join f in context.Users on b.PI_User_ID equals f.ID where a.Status == "BLREV" && d.Beamline_ID == resource_id && d.Beamline_Review_Complete == reviewComplete select new ResourceReviewViewModel() { Date_Submitted = a.Date_Submitted, Beamline_Request_ID = d.ID, Beamtime_Request_ID = a.ID, Proposal_ID = b.ID, Proposal_Type_ID = b.Proposal_Type_ID, Beamline_Review_Complete = d.Beamline_Review_Complete, Current_Cycle_Request = a.Current_Cycle_Request, PI_User_ID = b.PI_User_ID, PI_BNL_ID = b.User.BNL_ID, Proposal_Title = b.Title, Refused_By_Beamline = d.Refused_By_Beamline }).ToList(); DataSourceResult result = vm.ToDataSourceResult(request); return Json(result, JsonRequestBehavior.AllowGet); } } else { return RedirectToAction("Index"); }}
01..DataSource(dataSource => dataSource02. .Ajax()03. .PageSize(20)04. .ServerOperation(true)05. .Events(events => events.Error("error_handler"))y06. .Create(update => update.Action("Customer_Create", "Customer", ContentType="Application/Json")07. 08. )09. .Read(read => read.Action("Customer_Read", "Customer"))10. .Update(update => update.Action("Customer_Update", "Customer"))11. .Destroy(update => update.Action("Customer_Delete", "Customer"))12. .13. 14. )15.)@(Html.Kendo().Scheduler<iMail.Web.Models.TaskViewModel>() .Name("scheduler") .Date(DateTime.Now) .Timezone("Etc/UTC") .Views(views => { views.DayView(); views.WeekView(); views.MonthView(); views.AgendaView(agenda => agenda.Selected(true)); }) .Selectable(true) .Timezone("Etc/UTC") .Events(e => { e.Edit("onEdit"); e.Change("onChange"); }) .Editable(editable => { editable.TemplateName("_EditorTemplatePartial"); }) .DataSource(d => d .Model(m => { m.Id(f => f.TaskID); m.Field(f => f.Title).DefaultValue("No title"); m.RecurrenceId(f => f.RecurrenceID); m.Field(f => f.Priority); m.Field(f => f.TypeID); }) .Events(e => e.Error("error_handler")) .Read (read => read.Action("TasksRead", "Calendar").Data("additionalInfo").Type(HttpVerbs.Get)) .Create(create => create.Action("TasksCreate", "Calendar").Data("additionalInfo")) .Destroy(destroy => destroy.Action("TasksDestroy", "Calendar").Data("additionalInfo")) .Update(update => update.Action("TasksUpdate", "Calendar").Data("additionalInfo")) ) )<div id="AttendeeAlreadyInvited"> <div data-container-for="AlreadyInvitedID" class="k-edit-field"> @(Html.Kendo().MultiSelectFor(model => model.AlreadyInvitedID) .HtmlAttributes(new { data_bind = "value:AlreadyInvitedID" }) .DataTextField("Name") .DataValueField("ID") .BindTo(Model.Invited) ) </div></div>public class CalEmployeeLight{ public int ID; public string Name;public class TaskViewModel : Kendo.Mvc.UI.ISchedulerEvent
{
public int TaskID { get; set; } //each event have an ID.
.....
public IEnumerable<int> AlreadyInvitedID { get; set; } public ICollection<CalEmployeeLight> Invited { get; set; }
}