首页 > 解决方案 > DHTMLX 调度程序自定义时间线与 AM/PM 天

问题描述

我在项目的时间线视图中使用 DHTMLX 调度程序,工作时间从早上 7 点到下午 5 点。我能够每天制作一个 AM/PM 视图,但视图中不考虑 first_hour 和 last_hour 配置。屏幕截图显示更多。早上的第一个事件应该显示在更靠左的位置,因为它从早上 7:30 开始。 在此处输入图像描述

我的配置:

scheduler.locale.labels.timeline_tab = "Timeline";
scheduler.locale.labels.section_custom = "Section";

scheduler.config.dblclick_create = false;
scheduler.config.edit_on_create = false;
scheduler.config.details_on_dblclick = false;
scheduler.config.details_on_create = false;
scheduler.config.start_on_monday = true;
scheduler.config.first_hour = 7;
scheduler.config.last_hour = 17;
scheduler.config.full_day = true;
scheduler.config.mark_now = false;

scheduler.config.drag_move = false;
scheduler.config.drag_resize = false;

//===============
//Configuration
//===============

scheduler.createTimelineView({
    name: "timeline",
    x_unit: "hour",
    x_date: "%A",
    x_step: 12,
    x_size: 14,
    x_start: 0,
    x_length: 14,
    y_unit: scheduler.serverList('teams'), // sections and events from same ajax call
    y_property: "team_id",
    render: "bar",
    section_autoheight: false,
    dy: 30,
    dx: 100,
    // first_hour: 7,
    // last_hour: 17,
    second_scale: {
        x_unit: "day", // unit which should be used for second scale
        x_date: "%D %j %M"
    }
});

任何帮助将不胜感激。

编辑: 根据此处的答案进行更新后,结果: 在此处输入图像描述

标签: dhtmlxdhtmlx-scheduler

解决方案


first_hourlast_hour在日、周、单位视图中应用于 Y 轴的配置(检查文档)。

目前,要在时间轴视图中隐藏一天的开始和结束时间,您应该只有 1 个 X 轴,如本示例中所示。即事件的可见部分是从 10 到 18,因为方法first_hourend_hour属性createTimelineView。检查屏幕截图

还有一个ignore_[viewName] 功能可用于隐藏等于刻度最小步长的间隔(在您的情况下为 12 小时)。

如果设置 min(小时)并通过addMarkedTimespanstep = 6禁用 6-7 AM 和 5-6 PM,这可以帮助解决您的问题。我尝试为您创建一个片段http://snippet.dhtmlx.com/46ba545ad,但发现此条件的第二部分无法正常工作。该事件可以创建到下午 6 点。我们会尽快修复它,但现在我无法指定确切的时间。我建议你使用第一种方式来解决这个问题。if(date.getHours() < 6 || date.getHours() > 17){


推荐阅读