Kendo ui 按日期使每个事件适合边界框
以身作则 我想让事件看起来像这样: 而不是页面上的内容: 请注意,事件和边界框之间有一个空格 元素样式似乎由调度器自动生成,并计算宽度。我如何扩大事件范围,使其完全适合边界框?我在上找到了答案 这是她的代码按columns.length而不是2进行跳转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,
//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
有点奇怪,它不是事件填充边界框的默认行为。下面这个被接受的答案对于我来说似乎是一个简单的调整,似乎有些矫枉过正。