Kendo 调度程序无法在移动模式下编辑事件
Kendo scheduler can't edit event in mobile mode
我的 Kendo 调度程序在移动模式下遇到问题。
我无法在使用移动模式时在我的 kendo 调度程序中编辑我的事件,而在桌面模式下我可以。
我试过添加手机(MobileMod.Phone)或汽车或其他东西,上面没有任何变化。
我看到了一些关于 kendo 移动应用程序实例化的信息,但我不明白它是如何工作的。如果有人已经遇到过这个问题,那就太好了 :)。我放了一些代码以便更好地理解我的调度程序。
<div class="flex-grow-1 flex-col" @*data-role="view"*@>
@(Html.Kendo().Scheduler<PlanningModel>()
.Name("PlanningLitsScheduler")
.Mobile(MobileMode.Auto)
.WorkWeekStart(0)
.WorkWeekEnd(6)
.Date(DateTime.Now)
.Height(441)
.MajorTick(1440)
.Editable(e => e.TemplateName("CustomViewTemplate"))
.Group(group => group.Resources("Chambres").Orientation(SchedulerGroupOrientation.Vertical))
.HtmlAttributes(new { style = "margin-bottom: 20px; border: 1px solid #FFB41D" })
.Views(views =>
{
views.CustomView("CustomWeekView");
views.WeekView();
})
.Timezone("Etc/UTC")
.GroupHeaderTemplate("<th class='k-slot-cell'>#:text#</th>")
.Resources(resource =>
{
resource.Add(m => m.ChambreId)
.Title("Chambre")
.Name("Chambres")
.DataTextField("NumChambre")
.DataValueField("Id")
.BindTo(Model.ListChambres);
resource.Add(m => m.LitId)
.Title("Lit")
.Name("Lits")
.DataTextField("NumLit")
.DataValueField("Id")
.BindTo(Model.ListChambres[0].ListLits);
})
.Events(e => e.DataBound("DataBound").Edit("Edit").MoveStart("DisableDragDrop").Navigate("Navigate").Save("Save").Add("Add"))
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.TaskID);
m.Field(f => f.TaskID).DefaultValue(-1);
m.Field(f => f.Title);
m.Field(f => f.Description);
m.Field(f => f.Start);
m.Field(f => f.End);
m.Field(f => f.RecurrenceRule);
m.Field(f => f.RecurrenceID);
m.Field(f => f.RecurrenceException);
m.Field(f => f.OwnerID);
m.Field(f => f.IsAllDay);
m.Field(f => f.StartTimezone);
m.Field(f => f.ChambreId);
m.Field(f => f.EndTimezone);
m.RecurrenceId(f => f.RecurrenceID);
})
.Batch(true)
.Create(create => create.Action("CreateTachesScheduler", "Bloc").Data("GetDataLengthForCreate"))
.Read("AjoutTachesScheduler", "Bloc")
.Update(update => update.Action("UpdateTachesScheduler", "Bloc"))
)
)</div>
还有我之前提到的 kendo 移动应用程序:
<script type="text/javascript">
let app = new kendo.mobile.Application($("#main"));</script>
看起来 .Mobile(MobileMode.Auto) 行就足够了。当我们在 smartphone/tablet 模式下使用鼠标在桌面上时它不起作用,但它在触摸屏幕上使用手指时起作用。
我的 Kendo 调度程序在移动模式下遇到问题。
我无法在使用移动模式时在我的 kendo 调度程序中编辑我的事件,而在桌面模式下我可以。
我试过添加手机(MobileMod.Phone)或汽车或其他东西,上面没有任何变化。
我看到了一些关于 kendo 移动应用程序实例化的信息,但我不明白它是如何工作的。如果有人已经遇到过这个问题,那就太好了 :)。我放了一些代码以便更好地理解我的调度程序。
<div class="flex-grow-1 flex-col" @*data-role="view"*@>
@(Html.Kendo().Scheduler<PlanningModel>()
.Name("PlanningLitsScheduler")
.Mobile(MobileMode.Auto)
.WorkWeekStart(0)
.WorkWeekEnd(6)
.Date(DateTime.Now)
.Height(441)
.MajorTick(1440)
.Editable(e => e.TemplateName("CustomViewTemplate"))
.Group(group => group.Resources("Chambres").Orientation(SchedulerGroupOrientation.Vertical))
.HtmlAttributes(new { style = "margin-bottom: 20px; border: 1px solid #FFB41D" })
.Views(views =>
{
views.CustomView("CustomWeekView");
views.WeekView();
})
.Timezone("Etc/UTC")
.GroupHeaderTemplate("<th class='k-slot-cell'>#:text#</th>")
.Resources(resource =>
{
resource.Add(m => m.ChambreId)
.Title("Chambre")
.Name("Chambres")
.DataTextField("NumChambre")
.DataValueField("Id")
.BindTo(Model.ListChambres);
resource.Add(m => m.LitId)
.Title("Lit")
.Name("Lits")
.DataTextField("NumLit")
.DataValueField("Id")
.BindTo(Model.ListChambres[0].ListLits);
})
.Events(e => e.DataBound("DataBound").Edit("Edit").MoveStart("DisableDragDrop").Navigate("Navigate").Save("Save").Add("Add"))
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.TaskID);
m.Field(f => f.TaskID).DefaultValue(-1);
m.Field(f => f.Title);
m.Field(f => f.Description);
m.Field(f => f.Start);
m.Field(f => f.End);
m.Field(f => f.RecurrenceRule);
m.Field(f => f.RecurrenceID);
m.Field(f => f.RecurrenceException);
m.Field(f => f.OwnerID);
m.Field(f => f.IsAllDay);
m.Field(f => f.StartTimezone);
m.Field(f => f.ChambreId);
m.Field(f => f.EndTimezone);
m.RecurrenceId(f => f.RecurrenceID);
})
.Batch(true)
.Create(create => create.Action("CreateTachesScheduler", "Bloc").Data("GetDataLengthForCreate"))
.Read("AjoutTachesScheduler", "Bloc")
.Update(update => update.Action("UpdateTachesScheduler", "Bloc"))
)
)</div>
还有我之前提到的 kendo 移动应用程序:
<script type="text/javascript">
let app = new kendo.mobile.Application($("#main"));</script>
看起来 .Mobile(MobileMode.Auto) 行就足够了。当我们在 smartphone/tablet 模式下使用鼠标在桌面上时它不起作用,但它在触摸屏幕上使用手指时起作用。