Kendo ui 按日期使每个事件适合边界框

Kendo ui 按日期使每个事件适合边界框,kendo-ui,scheduler,kendo-scheduler,Kendo Ui,Scheduler,Kendo Scheduler,以身作则 我想让事件看起来像这样: 而不是页面上的内容: 请注意,事件和边界框之间有一个空格 元素样式似乎由调度器自动生成,并计算宽度。我如何扩大事件范围,使其完全适合边界框?我在上找到了答案 这是她的代码按columns.length而不是2进行跳转 //Override kendo function for deciding events with kendo.ui.MultiDayView.fn._arrangeColumns = function (element, top,

以身作则

我想让事件看起来像这样:

而不是页面上的内容:

请注意,事件和边界框之间有一个空格

元素样式似乎由调度器自动生成,并计算宽度。我如何扩大事件范围,使其完全适合边界框?

我在上找到了答案

这是她的代码按columns.length而不是2进行跳转

//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 / columns.length;
        //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.MultiDayView.fn.\u arrangeColumns=函数(元素、顶部、高度、槽距){
var startSlot=slotRange.start;
element={element:element,slotIndex:startSlot.index,start:top,end:top+height};
变量列,
slotWidth=startSlot.clientWidth,
eventRightOffset=slotWidth*0.10,
专栏事件,
eventElements=slotRange.events(),
SloteEvents=kendo.ui.SchedulerView.CollingEvents(eventElements,element.start,element.end);
slotRange.addEvent(元件);
推(元件);
columns=kendo.ui.SchedulerView.createColumns(slotEvents);
//这就是魔法发生的地方
var columnWidth=slotWidth/columns.length;
//原始代码:var columnWidth=(slotWidth-eventRightOffset)/columns.length;
//这就是魔法的终点
for(var idx=0,length=columns.length;idx
有点奇怪,它不是事件填充边界框的默认行为。下面这个被接受的答案对于我来说似乎是一个简单的调整,似乎有些矫枉过正。