HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function() {
2
// create data tree on our data
3
var treeData = anychart.data.tree(getData(), anychart.enums.TreeFillingMethod.AS_TABLE);
4
5
// create project gantt chart
6
var chart = anychart.ganttProject();
7
8
// set container id for the chart
9
chart.container("container");
10
11
// set data for the chart
12
chart.data(treeData);
13
14
// get chart data grid link to set column settings
15
var dataGrid = chart.dataGrid();
16
17
chart.splitterPosition(300);
18
19
// set first column settings
20
var firstColumn = dataGrid.column(0);
21
firstColumn.cellTextSettings().hAlign("center");
22
firstColumn.width(35);
23
24
25
var secondColumn = dataGrid.column(1);
26
secondColumn.cellTextSettings().hAlign("left");
27
secondColumn.width(50);
28
secondColumn.format(function(item) {
29
return item.get("name");
30
});
31
32
var thirdColumn = dataGrid.column(2);
33
thirdColumn.title("Actual Start");
34
thirdColumn.width(100);
35
thirdColumn.format(thirdColumnformat);
36
37
// set fourth column settings
38
var fourthColumn = dataGrid.column(3);
39
fourthColumn.title().text("Actual End");
40
fourthColumn.format(fourthColumnformat);
41
42
43
function thirdColumnformat(item) {
44
var field = item.get(anychart.enums.GanttDataFields.ACTUAL_START);
45
46
var actualStart = new Date(field);
47
return formatDate(actualStart.getUTCMonth() + 1) + "/" +
48
formatDate(actualStart.getUTCDate()) + "/" + actualStart.getUTCFullYear();
49
}
50
51
52
// do pretty formatting for dates in fourth column
53
function fourthColumnformat(item) {
54
var field = item.get(anychart.enums.GanttDataFields.ACTUAL_END);
55
var actualEnd = new Date(field);
56
return formatDate((actualEnd.getUTCMonth() + 1)) + "/" +
57
formatDate(actualEnd.getUTCDate()) + "/" + actualEnd.getUTCFullYear();
58
}
59
60
// do pretty formatting for passed date unit
61
function formatDate(dateUnit) {
62
if (dateUnit < 10) dateUnit = "0" + dateUnit;
63
return dateUnit + "";
64
}
65
66
// initiate chart drawing
67
chart.draw();
68
69
chart.fitAll();
70
71
});
72
73
function getData() {
74
return [
75
{
76
"id": "1",
77
"name": "Task 1",
78
"actualStart": Date.UTC(2008, 7, 5),
79
"actualEnd": Date.UTC(2008, 7, 12),
80
"baselineStart": Date.UTC(2008, 7, 6),
81
"baselineEnd": Date.UTC(2008, 7, 10)
82
},
83
{
84
"id": "2",
85
"name": "Task 2",
86
"actualStart": Date.UTC(2008, 7, 9),
87
"actualEnd": Date.UTC(2008, 7, 13),
88
"baselineStart": Date.UTC(2008, 7, 6),
89
"baselineEnd": Date.UTC(2008, 7, 10)
90
},
91
{
92
"id": "3",
93
"name": "Task 3",
94
"actualStart": Date.UTC(2008, 7, 11),
95
"actualEnd": Date.UTC(2008, 7, 20),
96
"baselineStart": Date.UTC(2008, 7, 9),
97
"baselineEnd": Date.UTC(2008, 7, 19)
98
},
99
{
100
"id": "4",
101
"name": "Task 4",
102
"actualStart": Date.UTC(2008, 7, 8),
103
"actualEnd": Date.UTC(2008, 7, 15),
104
"baselineStart": Date.UTC(2008, 7, 6),
105
"baselineEnd": Date.UTC(2008, 7, 12)
106
},
107
{
108
"id": "5",
109
"name": "Task 5",
110
"actualStart": Date.UTC(2008, 7, 7),
111
"actualEnd": Date.UTC(2008, 7, 16),
112
"baselineStart": Date.UTC(2008, 7, 5),
113
"baselineEnd": Date.UTC(2008, 7, 13)
114
},
115
{
116
"id": "6",
117
"name": "Task 6",
118
"actualStart": Date.UTC(2008, 7, 13),
119
"actualEnd": Date.UTC(2008, 7, 19),
120
"baselineStart": Date.UTC(2008, 7, 11),
121
"baselineEnd": Date.UTC(2008, 7, 16)
122
},
123
];
124
}