Я использую планировщик кендо в MVC, и когда я пытался добавить пользовательскую кнопку, он успешно работал, но когда я изменял размер окна, он показывал мне несколько раз.
Я прикрепил скриншот моей страницы ... здесь кнопка показывается несколько раз ... так что решение этой проблемы решить.
вот мой код для планировщика.
<script id="groupHeaderTemplate" type="text/x-kendo-template">
<div>
<input class="dropdowntree" />
</div>
</script>
<div id="scheduler">
@(Html.Kendo().Scheduler<BusSchedulingSystem.Web.ViewModels.SchedulerViewModel>()
.Name("scheduler")
.Date(DateTime.Now)
.StartTime(new DateTime(2018, 1, 1, 6, 00, 00))
.Views(views =>
{
views.TimelineMonthView(e => e.EventHeight(50));
})
.Timezone("Etc/UTC")
//.DataSource(d => d
//.Read(read => read.Action("", ""))
// )
//.GroupHeaderTemplate("#= BindDropDownTree(data)#")
.GroupHeaderTemplateId("groupHeaderTemplate")
.Group(group => group.Resources("Company").Orientation(SchedulerGroupOrientation.Vertical))
.Events(events => events.DataBound("onLoad"))
.Resources(resource =>
{
resource.Add(m => m.Company.Id)
.Title("Company")
.Name("Company")
.DataTextField("Name")
.DataSource(ds => ds
.Custom()
.Transport(transport => transport.Read(read => read.Action("Read", "Scheduler")))
.Schema(schema => schema
.Data("Data")
.Total("Total")
)
);
})
)
</div>
и моя функция загрузки:
<script>
function onLoad(e) {
debugger
$('.k-nav-current').hide();
var scheduler = $("#scheduler").data("kendoScheduler");
var btn = $("<button class='k-button k-my-button'>Add new tour</button>")
$('#scheduler').find('.k-scheduler-toolbar').append(btn);
btn.click(function () {
document.location = '@Url.Action("AddTour", "Tour")'
});
//var checkbox = $('<input checked type="checkbox" value="1">');
//$('#scheduler').find('.k-scheduler-toolbar').append(checkbox);
}
</script>