【问题标题】:DayPilot Scheduler - Vertical Scrollbar never appearsDayPilot Scheduler - 垂直滚动条永远不会出现
【发布时间】:2017-07-18 19:49:50
【问题描述】:

这个问题是针对 DayPilot Scheduler 的 Angular 实现。

似乎无论我做什么,我都无法在呈现事件的位置出现垂直滚动条。当行数超出调度程序时,它们会被简单地截断并隐藏在视图之外。

我已阅读有关设置高度的文档hereherehere,以及this help topic。我对heightSpec 属性使用了不同的设置组合,结果如下:

  • Parent100Pct - 按照文档的建议执行并填充父元素。当行数超出屏幕大小时不展开,不显示任何滚动条。
  • Max - 增长到我指定的固定大小,但是当屏幕上的行数超出容量时,不显示任何滚动条。
  • Fixed - 完全按照我指定的高度呈现,但同样没有垂直滚动条。

我基本上已经没有想法了。我正在使用 Bootstrap 作为框架,我曾认为 DayPilot 可能没有很好地发挥作用,但我找不到任何冲突。

看起来我的代码应该可以工作,所以我将不胜感激任何建议。这是我一直在使用的代码。我敢肯定,这是一些小东西正盯着我的脸,通常是这样。

标记:

<div id="page-container">
    <div id="page-wrapper">
        <div class="container-fluid controller ng-scope" ng-controller="HomeController as vm">
            <div class="row" id="main-content">
                <div class="col-md-12" id="am-main">
                    <daypilot-scheduler id="dp" config="vm.schedulerConfig" events="vm.events" publish-as="vm.scheduler"></daypilot-scheduler>
                </div>
            </div>
        </div>
    </div>
</div>

Javascript:

var minutesInDay = 60 * 24;

vm.schedulerConfig = {
    startDate: '2017-01-01',
    days: 90,
    cellDuration: minutesInDay,
    floatingEvents: false,
    floatingTimeHeaders: false,
    cellSweeping: false,
    useEventBoxes: 'Never',
    scrollDelayEvents: 0,
    timeHeaders: [
        { groupBy: 'Month', format: 'MMMM yyyy' },
        { groupBy: 'Week'},
        { groupBy: 'Day', format: 'ddd dd' }
    ],
    separators: [
        { color: 'Orange', location: new DayPilot.Date(), width: 5 }
    ],
    treeEnabled: true,
    cssClassPrefix: 'scheduler',
    widthSpec: 'Parent100Pct',
    heightSpec: 'Fixed',
    height: 500,
    durationBarVisible: false,
    weekStarts: 1
}

CSS:

#page-container, #page-wrapper {
    height: 100% !important;
}

#main-content {
    height: 100%;
}

#am-main {
    height: 89% !important;
}

.scheduler_cell {
    background: transparent;
    border: none;
    margin: 5px 0;
    padding: 5px;
    min-width: 10px;
}

.scheduler_default_divider_horizontal {
    background-color: white !important;
}

.scheduler_default_scrollable {
    overflow-y: hidden !important;
    font-family: 'Roboto', sans-serif !important;
}

.scheduler_default_rowheader_scroll, .scheduler_rowheader, .scheduler_corner {
    width: 150px !important;
}

.scheduler_event_inner {
    border-right: 0.5px solid black;
}

.scheduler_timeheadergroup, .scheduler_timeheadercol {
    border: thin solid white;
}

.scheduler_timeheadergroup_inner, .scheduler_timeheadercol_inner, scheduler_timeheader_float_inner {
    padding: 2px 0 0 4px;
}

【问题讨论】:

    标签: javascript angularjs daypilot daypilot-scheduler


    【解决方案1】:

    overflow-y: hidden !important;

    从您发布的内容来看,似乎 css 行可能是原因。我猜它位于您提供的标记的父容器上。也就是说,无论你做什么,都不要显示垂直滚动条!

    试着去掉那条线,看看你有什么运气。

    【讨论】:

    • 哈哈,我只知道会是这样简单的事情。谢谢,这解决了它。 _default_scrollable 类控制渲染事件的区域,我现在记得以前的设计要求删除滚动条,这一定是错过了。好吧,我现在觉得自己很愚蠢!
    • @DanielBernsons 总是如此。几个小时前,我和一个前端开发伙伴只是在谈论要解决的 PITA 溢出错误。猜他是对的。 ;)
    猜你喜欢
    • 1970-01-01
    • 2012-07-20
    • 2017-10-09
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多