我是 highcharts 和 jQuery 的新手,在使用 SPServices 显示 Sharepoint 列表中的数据时遇到问题。我有两列;一个带有日期值,另一个带有数值。我使用本教程作为我的代码指南。
我收到错误“ Uncaught Highcharts error #14: www.highcharts.com/errors/14 ”,我理解这是因为 Highcharts 期望 Date 值是一个数字。我在这里读到我应该使用无效的 parseFloat() 或 parseInt()。
然后我尝试使用“数字”类型列而不是日期列生成折线图,但我收到了同样的错误,这让我更加困惑。谢谢你的帮助。
代码:
<script>
$(document).ready(function () {
var valuesArray = [];
$().SPServices({
operation: "GetListItems",
async: false,
CAMLQuery: "<Query><OrderBy><FieldRef Name='Week'/></OrderBy></Query>",
listName: "{GUIDVALUEREMOVED}",
CAMLViewFields: "<ViewFields><FieldRef Name='Week'/><FieldRef Name='Total'/></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function () {
var week = ($(this).attr('ows_Week'));
var total = ($(this).attr('ows_Total'));
valuesArray.push([parseFloat(week), total]);
});
}
});
chart = new Highcharts.Chart({
chart: {
renderTo: 'CHANGEME',
type: 'line'
},
title: {
text: 'FS Total by Week'
},
yAxis: {
title: {
text: 'values'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
subtitle: {
text: 'Change me 2'
},
tooltip: {
formatter: function() {
return '<b>'+ this.y;}
},
credits: {
enabled: false
},
plotOptions: {
column: {
allowPointSelect: true,
pointPadding: 0.2,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: 'transparent',
formatter: function() {
return '<b>'+ this.y;
}
}
}
},
series: [{
type:'line',
name: 'Total',
data: valuesArray
}]
});
});
</script>
<div id="CHANGEME">
</div>