如何在KendoUI垂直分组Scheduler中隐藏指定时间段行?
解决KendoUI Scheduler无法隐藏剩余小时行的问题
我来帮你搞定这个KendoUI Scheduler的小时行隐藏难题!结合你提到的**垂直分组(右侧显示房间号、顶部显示日期)**的场景,分享两个实用的解决办法:
方法一:通过组件配置直接隐藏时间列(推荐)
既然你用的是Angular版本的Scheduler,组件本身就提供了现成的配置项来关闭时间列显示,这是最稳妥的方式:
在你的Scheduler模板中添加[showTimeColumn]="false"属性,同时保留你已经配置好的分组、隐藏全天视图的设置:
<kendo-scheduler [showTimeColumn]="false" [group]="{ resources: ['Rooms'], orientation: 'vertical' }" [date]="selectedDate" > <!-- 房间资源定义 --> <kendo-scheduler-group-resource name="Rooms" [data]="roomData" field="roomId" title="Room" ></kendo-scheduler-group-resource> <!-- 日视图配置:隐藏全天区域+限定时间范围为单一行 --> <kendo-scheduler-day-view [showAllDay]="false" [startTime]="new Date('2024-01-01T09:00:00')" [endTime]="new Date('2024-01-01T09:00:00')" ></kendo-scheduler-day-view> </kendo-scheduler>
这个配置会让组件直接不渲染时间列,从根源上解决那一行无法隐藏的问题,完全符合组件的设计逻辑。
方法二:用CSS兜底隐藏(配置项不生效时)
如果因为版本兼容或者特殊定制场景导致配置项没起作用,可以用CSS精准隐藏时间列和对应的小时行:
/* 隐藏时间列的整个容器 */ .k-scheduler-times { display: none !important; } /* 调整内容区域边距,填补时间列消失后的空白,避免布局错乱 */ .k-scheduler-content { margin-left: 0 !important; } /* 针对垂直分组场景,提升选择器优先级确保生效 */ .k-scheduler-vertical-group .k-scheduler-times { display: none; }
这样就能彻底隐藏最后那一行小时标记,同时保证Scheduler的布局正常。
内容的提问来源于stack exchange,提问作者Nithin P.H
相关产品推荐
相关产品推荐

