ArrayToDataTable 不接受日期时间类型
ArrayToDataTable not accepting datetime type
我这里有这段代码可以按日期过滤我的面积图,但它不能正常工作,因为 arrayToDataTable
不接受 dateTime
类型。
如有任何帮助,我们将不胜感激。
有人知道如何解决这个问题吗?
这是我的脚本:
<script type="text/javascript">
google.load("visualization", "1.1", { packages: ["controls", "corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
$.ajax({
type: "POST",
url: "GoogleChart.aspx/GetChartData",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
var data = google.visualization.arrayToDataTable(r.d);
var rangeFilter = new google.visualization.ControlWrapper({
controlType: 'ChartRangeFilter',
containerId: 'filter-range',
options: {
filterColumnIndex: 0,
ui: {
chartType: 'AreaChart',
chartOptions: {
chartArea: {
width: '100%',
left: 36,
right: 18
},
height: 72
}
}
}
});
var chart = new google.visualization.ChartWrapper({
chartType: 'AreaChart',
containerId: 'chart_div',
options: {
width: 1800,
height: 600,
legend: {
alignment: 'end',
position: 'top'
},
animation: {
duration: 500,
easing: 'in',
startup: true
},
chartArea: {
height: '100%',
width: '100%',
top: 36,
left: 36,
right: 18,
bottom: 36
}
}
});
var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard'));
dashboard.bind(rangeFilter, chart);
dashboard.draw(data);
},
});
}
</script>
为了创建日期时间值,
您将需要手动更改数据中的每一行。
而不是使用 arrayToDataTable
...
var data = google.visualization.arrayToDataTable(r.d);
创建空白数据table,
然后使用数据中的列标题创建列,
其余的创建行...
var data = new google.visualization.DataTable();
r.d.forEach(function (row, index) {
if (index === 0) {
data.addColumn('date', row[0]);
data.addColumn('number', row[1]);
} else {
data.addRow([new Date(row[0]), row[1]]);
}
});
我这里有这段代码可以按日期过滤我的面积图,但它不能正常工作,因为 arrayToDataTable
不接受 dateTime
类型。
如有任何帮助,我们将不胜感激。
有人知道如何解决这个问题吗?
这是我的脚本:
<script type="text/javascript">
google.load("visualization", "1.1", { packages: ["controls", "corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
$.ajax({
type: "POST",
url: "GoogleChart.aspx/GetChartData",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
var data = google.visualization.arrayToDataTable(r.d);
var rangeFilter = new google.visualization.ControlWrapper({
controlType: 'ChartRangeFilter',
containerId: 'filter-range',
options: {
filterColumnIndex: 0,
ui: {
chartType: 'AreaChart',
chartOptions: {
chartArea: {
width: '100%',
left: 36,
right: 18
},
height: 72
}
}
}
});
var chart = new google.visualization.ChartWrapper({
chartType: 'AreaChart',
containerId: 'chart_div',
options: {
width: 1800,
height: 600,
legend: {
alignment: 'end',
position: 'top'
},
animation: {
duration: 500,
easing: 'in',
startup: true
},
chartArea: {
height: '100%',
width: '100%',
top: 36,
left: 36,
right: 18,
bottom: 36
}
}
});
var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard'));
dashboard.bind(rangeFilter, chart);
dashboard.draw(data);
},
});
}
</script>
为了创建日期时间值,
您将需要手动更改数据中的每一行。
而不是使用 arrayToDataTable
...
var data = google.visualization.arrayToDataTable(r.d);
创建空白数据table,
然后使用数据中的列标题创建列,
其余的创建行...
var data = new google.visualization.DataTable();
r.d.forEach(function (row, index) {
if (index === 0) {
data.addColumn('date', row[0]);
data.addColumn('number', row[1]);
} else {
data.addRow([new Date(row[0]), row[1]]);
}
});