gpt4 book ai didi

kendo-ui - 更改 Kendo UI Scheduler 中事件的宽度

转载 作者:行者123 更新时间:2023-12-02 21:48:53 29 4
gpt4 key购买 nike

我正在使用 HTML5 和 JavaScript 创建一个网站。其中一个站点包含Kendo UI Scheduler 。我了解调度程序及其工作原理,并且我已经成功地使用一些事件设置了一个简单的调度程序。现在,我的问题是我想改变将事件引入调度程序的方式;我想将事件的大小更改为它们显示的列大小的一半。有没有简单的方法可以做到这一点,或者我是否必须更改计算这些事件位置的 Kendo 代码?

最佳答案

由于没有人能为我回答这个问题,我发布了我自己的解决方案:我尝试用 CSS 来实现这一点,但没能成功。相反,我决定重写决定调度程序事件的 Kendo UI 代码。

        //Override kendo function for deciding events with
kendo.ui.MultiDayView.fn._arrangeColumns = function (element, top, height, slotRange) {
var startSlot = slotRange.start;

element = { element: element, slotIndex: startSlot.index, start: top, end: top + height };

var columns,
slotWidth = startSlot.clientWidth,
eventRightOffset = slotWidth * 0.10,
columnEvents,
eventElements = slotRange.events(),
slotEvents = kendo.ui.SchedulerView.collidingEvents(eventElements, element.start, element.end);

slotRange.addEvent(element);

slotEvents.push(element);

columns = kendo.ui.SchedulerView.createColumns(slotEvents);

//This is where the magic happens
var columnWidth = slotWidth / 2;
//Original code: var columnWidth = (slotWidth - eventRightOffset) / columns.length;
//This is where the magic ends

for (var idx = 0, length = columns.length; idx < length; idx++) {
columnEvents = columns[idx].events;

for (var j = 0, eventLength = columnEvents.length; j < eventLength; j++) {
columnEvents[j].element[0].style.width = columnWidth - 4 + "px";
columnEvents[j].element[0].style.left = (this._isRtl ? this._scrollbarOffset(eventRightOffset) : 0) + startSlot.offsetLeft + idx * columnWidth + 2 + "px";
}
}
};

关于kendo-ui - 更改 Kendo UI Scheduler 中事件的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487913/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com