Customize the width of scheduler columns using the .mbsc-schedule-col-width CSS class. This allows you to define fixed or dynamic column widths to fit your layout needs.
When using resources, the defined width is applied to resource columns. If no resources are present, it applies to day columns instead.
Interested in individually adjusting resource widths? Discover how →
Demo
Set the column width:
Width applies to resources or days when off:
css.mbsc-schedule-col-width {
width: 50px;
}

SFC JSSFC TS
<script setup>
import {
MbscEventcalendar,
MbscPage,
MbscSegmented,
MbscSegmentedGroup,
setOptions
} from '@mobiscroll/vue'
import { ref } from 'vue'
setOptions({
locale: ,
theme: ' ',
themeVariant: ' '
})
const myWidth = ref('small')
const showResources = ref('on')
const myResources = [
{ id: 1, name: 'Bart', color: '#328E39' },
{ id: 2, name: 'Jake', color: '#00AABB' },
{ id: 3, name: 'Carl', color: '#EA72C0' },
{ id: 4, name: 'Dana', color: '#FF5733' },
{ id: 5, name: 'Evan', color: '#3366FF' },
{ id: 6, name: 'Faye', color: '#FFD700' }
]
const myResEvents = [
{ start: '2026-11-02T07:00', end: '2026-11-02T09:00', title: 'Sync', resource: 1 },
{
start: '2026-11-03T08:00',
end: '2026-11-03T10:00',
title: 'Kickoff',
resource: 1
},
{
start: '2026-11-04T09:00',
end: '2026-11-04T12:00',
title: 'Planning',
resource: 1
},
{ start: '2026-11-05T09:00', end: '2026-11-05T12:00', title: 'Meeting', resource: 1 },
{ start: '2026-11-06T09:00', end: '2026-11-06T12:00', title: 'Review', resource: 1 },
{
start: '2026-11-07T08:00',
end: '2026-11-07T10:00',
title: 'Kickoff',
resource: 1
},
{
start: '2026-11-08T10:00',
end: '2026-11-08T12:00',
title: 'Planning',
resource: 1
},
{
start: '2026-11-02T16:00',
end: '2026-11-02T18:00',
title: 'Check-in',
resource: 2
},
{ start: '2026-11-03T15:00', end: '2026-11-03T17:00', title: 'Talk', resource: 2 },
{
start: '2026-11-04T13:00',
end: '2026-11-04T15:00',
title: 'Discussion',
resource: 2
},
{ start: '2026-11-05T11:00', end: '2026-11-05T13:00', title: 'Call', resource: 2 },
{
start: '2026-11-06T11:00',
end: '2026-11-06T13:00',
title: 'Integration',
resource: 2
},
{ start: '2026-11-07T13:00', end: '2026-11-07T15:00', title: 'Demo', resource: 2 },
{
start: '2026-11-08T14:00',
end: '2026-11-08T16:00',
title: 'Fixing',
resource: 2
},
{
start: '2026-11-02T09:00',
end: '2026-11-02T11:00',
title: 'Planning',
resource: 3
},
{ start: '2026-11-03T11:00', end: '2026-11-03T13:00', title: 'Demo', resource: 3 },
{
start: '2026-11-04T10:00',
end: '2026-11-04T12:00',
title: 'Review',
resource: 3
},
{ start: '2026-11-05T14:00', end: '2026-11-05T16:00', title: 'Review', resource: 3 },
{
start: '2026-11-06T15:00',
end: '2026-11-06T17:00',
title: 'Retrospective',
resource: 3
},
{
start: '2026-11-07T11:00',
end: '2026-11-07T13:00',
title: 'Review',
resource: 3
},
{
start: '2026-11-08T08:00',
end: '2026-11-08T10:00',
title: 'Onboarding',
resource: 3
},
{
start: '2026-11-02T12:00',
end: '2026-11-02T14:00',
title: 'Collab',
resource: 4
},
{ start: '2026-11-03T14:00', end: '2026-11-03T16:00', title: 'Retro', resource: 4 },
{
start: '2026-11-04T14:00',
end: '2026-11-04T16:00',
title: 'Feedback',
resource: 4
},
{ start: '2026-11-05T10:00', end: '2026-11-05T13:00', title: 'Session', resource: 4 },
{
start: '2026-11-06T10:00',
end: '2026-11-06T12:00',
title: 'Testing',
resource: 4
},
{
start: '2026-11-07T10:00',
end: '2026-11-07T12:00',
title: 'Stand-up',
resource: 4
},
{
start: '2026-11-08T13:00',
end: '2026-11-08T15:00',
title: 'Rollout',
resource: 4
},
{
start: '2026-11-02T11:00',
end: '2026-11-02T13:00',
title: 'Stand-up',
resource: 5
},
{
start: '2026-11-03T10:00',
end: '2026-11-03T12:00',
title: 'Review',
resource: 5
},
{
start: '2026-11-04T11:00',
end: '2026-11-04T13:00',
title: 'Design',
resource: 5
},
{ start: '2026-11-05T15:00', end: '2026-11-05T17:00', title: 'Sprint', resource: 5 },
{ start: '2026-11-06T16:00', end: '2026-11-06T18:00', title: 'Demo', resource: 5 },
{ start: '2026-11-07T15:00', end: '2026-11-07T17:00', title: 'Retro', resource: 5 },
{
start: '2026-11-08T12:00',
end: '2026-11-08T14:00',
title: 'Review',
resource: 5
},
{ start: '2026-11-02T14:00', end: '2026-11-02T16:00', title: 'Retro', resource: 6 },
{
start: '2026-11-03T13:00',
end: '2026-11-03T15:00',
title: 'Update',
resource: 6
},
{
start: '2026-11-04T09:00',
end: '2026-11-04T11:00',
title: 'Meeting',
resource: 6
},
{ start: '2026-11-05T08:00', end: '2026-11-05T10:00', title: 'Stand-up', resource: 6 },
{ start: '2026-11-06T14:00', end: '2026-11-06T16:00', title: 'Call', resource: 6 },
{ start: '2026-11-07T09:00', end: '2026-11-07T11:00', title: 'Update', resource: 6 },
{
start: '2026-11-08T16:00',
end: '2026-11-08T18:00',
title: 'Strategy',
resource: 6
}
]
const myEvents = [
{ start: '2026-11-06T09:00', end: '2026-11-06T11:00', title: 'Review' },
{ start: '2026-11-07T10:00', end: '2026-11-07T12:00', title: 'Demo' },
{ start: '2026-11-08T08:00', end: '2026-11-08T10:00', title: 'Kickoff' },
{ start: '2026-11-08T14:00', end: '2026-11-08T16:00', title: 'Strategy' },
{ start: '2026-11-09T09:00', end: '2026-11-09T11:00', title: 'Stand-up' },
{ start: '2026-11-09T13:00', end: '2026-11-09T15:00', title: 'Integration' },
{ start: '2026-11-10T10:00', end: '2026-11-10T12:00', title: 'Review' },
{ start: '2026-11-11T12:00', end: '2026-11-11T14:00', title: 'Planning' },
{ start: '2026-11-12T11:00', end: '2026-11-12T13:00', title: 'Review' },
{ start: '2026-11-13T15:00', end: '2026-11-13T17:00', title: 'Sync' },
{ start: '2026-11-13T10:00', end: '2026-11-13T12:00', title: 'Retro' },
{ start: '2026-11-14T10:00', end: '2026-11-14T12:00', title: 'Stand-up' },
{ start: '2026-11-15T14:00', end: '2026-11-15T16:00', title: 'Collab' },
{ start: '2026-11-16T08:00', end: '2026-11-16T10:00', title: 'Kickoff' },
{ start: '2026-11-17T09:00', end: '2026-11-17T11:00', title: 'Meeting' },
{ start: '2026-11-18T10:00', end: '2026-11-18T12:00', title: 'Retro' },
{ start: '2026-11-19T15:00', end: '2026-11-19T17:00', title: 'Review' },
{ start: '2026-11-04T10:00', end: '2026-11-04T12:00', title: 'Planning' },
{ start: '2026-11-03T15:00', end: '2026-11-03T17:00', title: 'Talk' },
{ start: '2026-11-02T09:00', end: '2026-11-02T11:00', title: 'Stand-up' },
{ start: '2026-11-01T14:00', end: '2026-11-01T16:00', title: 'Retrospective' },
{ start: '2026-10-31T08:00', end: '2026-10-31T10:00', title: 'Kickoff' },
{ start: '2026-10-30T15:00', end: '2026-10-30T17:00', title: 'Review' },
{ start: '2026-10-29T13:00', end: '2026-10-29T15:00', title: 'Collab' },
{ start: '2026-10-28T09:00', end: '2026-10-28T11:00', title: 'Retro' },
{ start: '2026-10-27T16:00', end: '2026-10-27T18:00', title: 'Discussion' },
{ start: '2026-10-26T14:00', end: '2026-10-26T16:00', title: 'Update' },
{ start: '2026-10-25T10:00', end: '2026-10-25T12:00', title: 'Sprint' },
{ start: '2026-10-24T13:00', end: '2026-10-24T15:00', title: 'Onboarding' },
{ start: '2026-10-23T09:00', end: '2026-10-23T11:00', title: 'Strategy' },
{ start: '2026-10-22T08:00', end: '2026-10-22T10:00', title: 'Meeting' }
]
const myView = {
scheduler: { type: 'month', startTime: '08:00', endTime: '20:00', allDay: false }
}
</script>
<template>
<MbscPage cssClass="mds-full-height">
<div class="mbsc-flex-col mds-full-height">
<MbscSegmentedGroup cssClass="mbsc-flex-none" v-model="myWidth">
<MbscSegmented value="small">50px</MbscSegmented>
<MbscSegmented value="medium">100px</MbscSegmented>
<MbscSegmented value="large">150px</MbscSegmented>
</MbscSegmentedGroup>
<MbscSegmentedGroup cssClass="mbsc-flex-none" v-model="showResources">
<MbscSegmented value="on">With resources</MbscSegmented>
<MbscSegmented value="off">Without resources</MbscSegmented>
</MbscSegmentedGroup>
<MbscEventcalendar
:view="myView"
:cssClass="'mds-col-width-' + myWidth"
:data="showResources === 'on' ? myResEvents : myEvents"
:resources="showResources === 'on' ? myResources : []"
groupBy="date"
/>
</div>
</MbscPage>
</template>
<style>
.mds-full-height {
height: 100%;
}
.mds-col-width-small .mbsc-schedule-col-width {
width: 50px;
}
.mds-col-width-medium .mbsc-schedule-col-width {
width: 100px;
}
.mds-col-width-large .mbsc-schedule-col-width {
width: 150px;
}
</style><script setup lang="ts">
import {
MbscEventcalendar,
MbscPage,
MbscSegmented,
MbscSegmentedGroup,
setOptions
} from '@mobiscroll/vue'
import type { MbscCalendarEvent, MbscEventcalendarView, MbscResource } from '@mobiscroll/vue'
import { ref } from 'vue'
setOptions({
locale: ,
theme: ' ',
themeVariant: ' '
})
const myWidth = ref('small')
const showResources = ref('on')
const myResources: MbscResource[] = [
{ id: 1, name: 'Bart', color: '#328E39' },
{ id: 2, name: 'Jake', color: '#00AABB' },
{ id: 3, name: 'Carl', color: '#EA72C0' },
{ id: 4, name: 'Dana', color: '#FF5733' },
{ id: 5, name: 'Evan', color: '#3366FF' },
{ id: 6, name: 'Faye', color: '#FFD700' }
]
const myResEvents: MbscCalendarEvent[] = [
{ start: '2026-11-02T07:00', end: '2026-11-02T09:00', title: 'Sync', resource: 1 },
{
start: '2026-11-03T08:00',
end: '2026-11-03T10:00',
title: 'Kickoff',
resource: 1
},
{
start: '2026-11-04T09:00',
end: '2026-11-04T12:00',
title: 'Planning',
resource: 1
},
{ start: '2026-11-05T09:00', end: '2026-11-05T12:00', title: 'Meeting', resource: 1 },
{ start: '2026-11-06T09:00', end: '2026-11-06T12:00', title: 'Review', resource: 1 },
{
start: '2026-11-07T08:00',
end: '2026-11-07T10:00',
title: 'Kickoff',
resource: 1
},
{
start: '2026-11-08T10:00',
end: '2026-11-08T12:00',
title: 'Planning',
resource: 1
},
{
start: '2026-11-02T16:00',
end: '2026-11-02T18:00',
title: 'Check-in',
resource: 2
},
{ start: '2026-11-03T15:00', end: '2026-11-03T17:00', title: 'Talk', resource: 2 },
{
start: '2026-11-04T13:00',
end: '2026-11-04T15:00',
title: 'Discussion',
resource: 2
},
{ start: '2026-11-05T11:00', end: '2026-11-05T13:00', title: 'Call', resource: 2 },
{
start: '2026-11-06T11:00',
end: '2026-11-06T13:00',
title: 'Integration',
resource: 2
},
{ start: '2026-11-07T13:00', end: '2026-11-07T15:00', title: 'Demo', resource: 2 },
{
start: '2026-11-08T14:00',
end: '2026-11-08T16:00',
title: 'Fixing',
resource: 2
},
{
start: '2026-11-02T09:00',
end: '2026-11-02T11:00',
title: 'Planning',
resource: 3
},
{ start: '2026-11-03T11:00', end: '2026-11-03T13:00', title: 'Demo', resource: 3 },
{
start: '2026-11-04T10:00',
end: '2026-11-04T12:00',
title: 'Review',
resource: 3
},
{ start: '2026-11-05T14:00', end: '2026-11-05T16:00', title: 'Review', resource: 3 },
{
start: '2026-11-06T15:00',
end: '2026-11-06T17:00',
title: 'Retrospective',
resource: 3
},
{
start: '2026-11-07T11:00',
end: '2026-11-07T13:00',
title: 'Review',
resource: 3
},
{
start: '2026-11-08T08:00',
end: '2026-11-08T10:00',
title: 'Onboarding',
resource: 3
},
{
start: '2026-11-02T12:00',
end: '2026-11-02T14:00',
title: 'Collab',
resource: 4
},
{ start: '2026-11-03T14:00', end: '2026-11-03T16:00', title: 'Retro', resource: 4 },
{
start: '2026-11-04T14:00',
end: '2026-11-04T16:00',
title: 'Feedback',
resource: 4
},
{ start: '2026-11-05T10:00', end: '2026-11-05T13:00', title: 'Session', resource: 4 },
{
start: '2026-11-06T10:00',
end: '2026-11-06T12:00',
title: 'Testing',
resource: 4
},
{
start: '2026-11-07T10:00',
end: '2026-11-07T12:00',
title: 'Stand-up',
resource: 4
},
{
start: '2026-11-08T13:00',
end: '2026-11-08T15:00',
title: 'Rollout',
resource: 4
},
{
start: '2026-11-02T11:00',
end: '2026-11-02T13:00',
title: 'Stand-up',
resource: 5
},
{
start: '2026-11-03T10:00',
end: '2026-11-03T12:00',
title: 'Review',
resource: 5
},
{
start: '2026-11-04T11:00',
end: '2026-11-04T13:00',
title: 'Design',
resource: 5
},
{ start: '2026-11-05T15:00', end: '2026-11-05T17:00', title: 'Sprint', resource: 5 },
{ start: '2026-11-06T16:00', end: '2026-11-06T18:00', title: 'Demo', resource: 5 },
{ start: '2026-11-07T15:00', end: '2026-11-07T17:00', title: 'Retro', resource: 5 },
{
start: '2026-11-08T12:00',
end: '2026-11-08T14:00',
title: 'Review',
resource: 5
},
{ start: '2026-11-02T14:00', end: '2026-11-02T16:00', title: 'Retro', resource: 6 },
{
start: '2026-11-03T13:00',
end: '2026-11-03T15:00',
title: 'Update',
resource: 6
},
{
start: '2026-11-04T09:00',
end: '2026-11-04T11:00',
title: 'Meeting',
resource: 6
},
{ start: '2026-11-05T08:00', end: '2026-11-05T10:00', title: 'Stand-up', resource: 6 },
{ start: '2026-11-06T14:00', end: '2026-11-06T16:00', title: 'Call', resource: 6 },
{ start: '2026-11-07T09:00', end: '2026-11-07T11:00', title: 'Update', resource: 6 },
{
start: '2026-11-08T16:00',
end: '2026-11-08T18:00',
title: 'Strategy',
resource: 6
}
]
const myEvents: MbscCalendarEvent[] = [
{ start: '2026-11-06T09:00', end: '2026-11-06T11:00', title: 'Review' },
{ start: '2026-11-07T10:00', end: '2026-11-07T12:00', title: 'Demo' },
{ start: '2026-11-08T08:00', end: '2026-11-08T10:00', title: 'Kickoff' },
{ start: '2026-11-08T14:00', end: '2026-11-08T16:00', title: 'Strategy' },
{ start: '2026-11-09T09:00', end: '2026-11-09T11:00', title: 'Stand-up' },
{ start: '2026-11-09T13:00', end: '2026-11-09T15:00', title: 'Integration' },
{ start: '2026-11-10T10:00', end: '2026-11-10T12:00', title: 'Review' },
{ start: '2026-11-11T12:00', end: '2026-11-11T14:00', title: 'Planning' },
{ start: '2026-11-12T11:00', end: '2026-11-12T13:00', title: 'Review' },
{ start: '2026-11-13T15:00', end: '2026-11-13T17:00', title: 'Sync' },
{ start: '2026-11-13T10:00', end: '2026-11-13T12:00', title: 'Retro' },
{ start: '2026-11-14T10:00', end: '2026-11-14T12:00', title: 'Stand-up' },
{ start: '2026-11-15T14:00', end: '2026-11-15T16:00', title: 'Collab' },
{ start: '2026-11-16T08:00', end: '2026-11-16T10:00', title: 'Kickoff' },
{ start: '2026-11-17T09:00', end: '2026-11-17T11:00', title: 'Meeting' },
{ start: '2026-11-18T10:00', end: '2026-11-18T12:00', title: 'Retro' },
{ start: '2026-11-19T15:00', end: '2026-11-19T17:00', title: 'Review' },
{ start: '2026-11-04T10:00', end: '2026-11-04T12:00', title: 'Planning' },
{ start: '2026-11-03T15:00', end: '2026-11-03T17:00', title: 'Talk' },
{ start: '2026-11-02T09:00', end: '2026-11-02T11:00', title: 'Stand-up' },
{ start: '2026-11-01T14:00', end: '2026-11-01T16:00', title: 'Retrospective' },
{ start: '2026-10-31T08:00', end: '2026-10-31T10:00', title: 'Kickoff' },
{ start: '2026-10-30T15:00', end: '2026-10-30T17:00', title: 'Review' },
{ start: '2026-10-29T13:00', end: '2026-10-29T15:00', title: 'Collab' },
{ start: '2026-10-28T09:00', end: '2026-10-28T11:00', title: 'Retro' },
{ start: '2026-10-27T16:00', end: '2026-10-27T18:00', title: 'Discussion' },
{ start: '2026-10-26T14:00', end: '2026-10-26T16:00', title: 'Update' },
{ start: '2026-10-25T10:00', end: '2026-10-25T12:00', title: 'Sprint' },
{ start: '2026-10-24T13:00', end: '2026-10-24T15:00', title: 'Onboarding' },
{ start: '2026-10-23T09:00', end: '2026-10-23T11:00', title: 'Strategy' },
{ start: '2026-10-22T08:00', end: '2026-10-22T10:00', title: 'Meeting' }
]
const myView: MbscEventcalendarView = {
scheduler: { type: 'month', startTime: '08:00', endTime: '20:00', allDay: false }
}
</script>
<template>
<MbscPage cssClass="mds-full-height">
<div class="mbsc-flex-col mds-full-height">
<MbscSegmentedGroup cssClass="mbsc-flex-none" v-model="myWidth">
<MbscSegmented value="small">50px</MbscSegmented>
<MbscSegmented value="medium">100px</MbscSegmented>
<MbscSegmented value="large">150px</MbscSegmented>
</MbscSegmentedGroup>
<MbscSegmentedGroup cssClass="mbsc-flex-none" v-model="showResources">
<MbscSegmented value="on">With resources</MbscSegmented>
<MbscSegmented value="off">Without resources</MbscSegmented>
</MbscSegmentedGroup>
<MbscEventcalendar
:view="myView"
:cssClass="'mds-col-width-' + myWidth"
:data="showResources === 'on' ? myResEvents : myEvents"
:resources="showResources === 'on' ? myResources : []"
groupBy="date"
/>
</div>
</MbscPage>
</template>
<style>
.mds-full-height {
height: 100%;
}
.mds-col-width-small .mbsc-schedule-col-width {
width: 50px;
}
.mds-col-width-medium .mbsc-schedule-col-width {
width: 100px;
}
.mds-col-width-large .mbsc-schedule-col-width {
width: 150px;
}
</style>