Custom data source in Vue Gantt component
16 Mar 20233 minutes to read
The excel export provides an option to define datasource dynamically before exporting. To export data dynamically, define the dataSource
in exportProperties
.
<template>
<div>
<ejs-gantt ref='gantt' id="GanttContainer" :dataSource="data" :taskFields="taskFields" :toolbar="toolbar" :toolbarClick="toolbarClick" :allowExcelExport='true' :height="height" :treeColumnIndex="1"></ejs-gantt>
</div>
</template>
<script>
import Vue from "vue";
import { GanttPlugin, Toolbar, ExcelExport, Selection } from "@syncfusion/ej2-vue-gantt";
import { ClickEventArgs } from '@syncfusion/ej2-navigations';
import { ganttData } from './data-source.js';
Vue.use(GanttPlugin);
export default {
data: function() {
return{
data: ganttData,
height:'450px',
taskFields: {
id: 'TaskID',
name: 'TaskName',
startDate: 'StartDate',
duration: 'Duration',
progress: 'Progress',
child: 'subtasks'
},
toolbar: ['ExcelExport', 'CsvExport'],
toolbarClick: (args: ClickEventArgs) => {
if (args.item.id === 'GanttContainer_excelexport') {
var excelExportProperties: ExcelExportProperties = {
dataSource: ganttData[1];
};
var ganttObj = document.getElementById('GanttContainer').ej2_instances[0];
ganttObj.excelExport(excelExportProperties);
}
},
};
},
provide: {
gantt: [Toolbar, ExcelExport]
}
};
</script>