我正在使用Scheduler控件。双击事件将打开一个对话框以允许对其进行编辑。在其他控件中,对话框有一个时区按钮和一个所有者下拉。
如何删除这些?
非常感谢任何帮助。
感谢。
阿布拉
答案 0 :(得分:2)
如果您希望自定义调度程序的弹出编辑器,一种方便的方法是创建一个调度程序编辑器模板以将其关闭。由于缺少Kendo(documented here)调度程序的ASP.NET MVC Wrapper版本的文档,我经历了很多心痛,但是我的调查结果中有一个很好的(可下载的)示例。您可以下载该示例here。
调度程序MVC Wrapper的调用:
.Editable(edit =>
{
edit.TemplateName("SchedulerEditorTemplate");
})
我的结构与视图和部分视图:
/Home (folder)
/EditorTemplates (folder)
SchedulerEditorTemplate.cshtml
Index.cshtml
部分视图对于SchedulerEditorTemplate来说只是一个表格,就像你在MVC网页应用程序中的其他地方一样,包含@model等等。你只需要构建一个编辑模板,就像一个带有表单的普通View页面一样。只需确保Partial View中使用的Model类与用于调度程序的Read,Create,Update和Destroy的Ajax方法相同,以确保获得所需的所有数据。
以下是我的日历视图模型示例:
using Kendo.Mvc.UI;
using System;
using System.Linq;
namespace MyApp.ViewModels.Calendars
{
public class CalendarAppointmentViewModel : ISchedulerEvent
{
// Mandatory Custom Fields
public int AppointmentId { get; set; }
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public bool Reminder { get; set; }
public bool IsPending { get; set; }
public bool IsActive { get; set; }
public bool IsCompleted { get; set; }
public bool IsCancelled { get; set; }
// Kendo Fields
public string Title { get; set; }
public string Description { get; set; }
public string Recurrence { get; set; }
public string StartTimezone { get; set; }
public string EndTimezone { get; set; }
private DateTime start;
public DateTime Start
{
get
{
return start;
}
set
{
start = value.ToUniversalTime();
}
}
private DateTime end;
public DateTime End
{
get
{
return end;
}
set
{
end = value.ToUniversalTime();
}
}
public string RecurrenceRule { get; set; }
public int? RecurrenceID { get; set; }
public string RecurrenceException { get; set; }
public bool IsAllDay { get; set; }
}
}
您需要为任何自定义模型类执行的主要操作之一是从ISchedulerEvent继承,否则您的自定义模型将无法正常工作。
public class CalendarAppointmentViewModel : ISchedulerEvent
{
...
}