Google visualization ArrayToDataTable不接受日期时间类型
我这里有此代码用于按日期筛选我的面积图,但它无法正常工作,因为Google visualization ArrayToDataTable不接受日期时间类型,google-visualization,Google Visualization,我这里有此代码用于按日期筛选我的面积图,但它无法正常工作,因为arrayToDataTable不接受dateTime类型 任何帮助都将不胜感激 有人知道怎么解决这个问题吗 这是我的剧本: <script type="text/javascript"> google.load("visualization", "1.1", { packages: ["controls", "corechart"] }); google.setOnLoadCallback
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>
load(“可视化”、“1.1”{packages:[“控件”、“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
$.ajax({
类型:“POST”,
url:“GoogleChart.aspx/GetChartData”,
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(r){
var data=google.visualization.arrayToDataTable(r.d);
var rangeFilter=new google.visualization.ControlWrapper({
controlType:“ChartRangeFilter”,
containerId:“筛选器范围”,
选项:{
filterColumnIndex:0,
用户界面:{
图表类型:“区域图表”,
图表选项:{
图表区:{
宽度:“100%”,
左:36,
右:18
},
身高:72
}
}
}
});
var chart=new google.visualization.ChartWrapper({
图表类型:“区域图表”,
集装箱船:“海图分区”,
选项:{
宽度:1800,
身高:600,
图例:{
对齐:“结束”,
位置:'顶部'
},
动画:{
持续时间:500,
“在”,
启动:正确
},
图表区:{
高度:“100%”,
宽度:“100%”,
排名:36,
左:36,
右:18,
底数:36
}
}
});
var dashboard=new google.visualization.dashboard(document.getElementById('dashboard');
dashboard.bind(范围过滤器、图表);
仪表盘.绘图(数据);
},
});
}
为了创建日期时间值,您需要手动更改数据中的每一行 而不是使用
arrayToDataTable
var data = google.visualization.arrayToDataTable(r.d);
创建一个空白数据表,然后使用数据中的列标题创建列,
剩下的要创建行
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
。相反,您需要使用数据表json构造函数。至于传递日期,您需要使用…所以无法使用arrayToDataTable?唯一的方法是手动将客户端上的每一行更改为一个日期。我不明白,但谢谢您,无论如何我将尝试您的第一条评论:)heeelp meee我无法单独完成:/White非常感谢。。你真的帮了我很多谢谢你