0
我有一些數據的HTML表,從該表中,我創建的圖表:在Highcharts缺失的行更改表
var chart = Highcharts.chart('graph_user_1', {
data: {
table: 'table_user_1',
startColumn: 0,
endColumn: 1
},
chart: {
type: 'column'
},
title: {
text: 'Coverage'
},
yAxis: {
allowDecimals: true,
title: {
text: 'Hours'
}
},
tooltip: {
formatter: function() {
return '<b>' + this.series.name + '</b><br/>' +
this.point.y + ' Points - ' + this.point.name.toLowerCase();
}
},
plotOptions: {
column: {
colorByPoint: true
}
},
series: [{
id: 'series1'
}],
colors: [
'#ff0000',
'#00ff00',
'#0000ff',
'#3A8BEE',
'#F9B342',
'#DC4008'
]
});
我也有一個過濾器,它讓我選擇一些日期和過濾器表中,數據的這些行中未隱藏,被附加到頁上的隱藏的表:
$("#to_date").on("change", function() {
var from = parseDate($('#from_date').val());
var to = parseDate($('#to_date').val());
var loop_count = 0;
var hidden_count = 0;
$("#body tr").each(function() {
var row = $(this);
var date_from = parseDate(row.find("td").eq(7).text());
var date_to = parseDate(row.find("td").eq(8).text());
var show = true;
show = isContained(date_from, date_to, from, to);
if (show) {
row.show();
legendArray.push(row); //pushes row to array
} else {
row.hide();
hidden_count++;
}
loop_count++;
});
if (hidden_count === loop_count) {
warning.prop("hidden", false);
warning.append("<strong>No results.</strong>");
}
restore(legendArray, chart);
});
結尾處的恢復功能得到具有行和AC陣列hart引用,它將數組中的行附加到新表中,然後將數據源從原始數據源更改爲隱藏表(id =「aux」)並重繪它。
function restore(array) {
var table = document.getElementById('auxBody');
for (var i = 0; i <= array.length - 1; i++) {
table.appendChild(array[i][0].cloneNode(true));
}
var complete = function(options) {
var chart = $('#graph_user_1').highcharts();
var series1 = chart.get('series1');
series1.setData(options.series[0].data, false);
chart.redraw();
};
Highcharts.data({
table: 'aux',
complete: complete
});
}
在此之後,該圖已更新,但總是缺少一排,最後一個。我已經打印了數組,新的表,正在追加,檢查等的節點。所有這些都顯示了所有行的表,但圖總是缺少最後一個,我認爲這是一個索引問題在添加節點的循環中,但似乎並非如此。
您能重現問題並分享嗎?使用jsfiddle或類似的服務或在stackoverflow中添加代碼片段 –
@NidhinChandran我在那。 另外,通過解析列並在其中打印數據,我可以告訴「名稱」屬性取不到行的值,所以它可能是一個標題問題,即使我確實添加了假頭隱藏的桌子。 – user3025738