在这fiddle toggle
当你' Define Last Column with a value
LastCol = Sheets("Filter").Cells(20, Sheets("Filter").Columns.Count).End(xlToLeft).Column
Col_Letter = Split(Cells(1, LastCol).Address(True, False), "$")(0)
' Read Data into variable
test = Sheets("Filter").Range("B20:" & Col_Letter & "20").Value
系列时,其他人会重置为初始值,而不是为自己添加新值。
如何避免这种行为?
答案 0 :(得分:0)
您需要在消隐或重置enableCheck中的相应数据集之前存储每个系列的当前数据状态。然后使用这个保存状态。
SP数据集的示例
初始化状态(spData)。我还初始化数据集(SP)
var spData = [1, 2, 3, 4, 5, 6, 7, 8]
var SP = {}
保存状态(在enableCheck()中) - 我从实际数据点中获取值
if (SP.data) currentChart.datasets.forEach(function (d) {
if (d.label === 'My First dataset') {
spData = d.points.map(function (e) {
return e.value
});
}
})
使用此保存状态(在enableCheck()中)
SP = {
label: "My First dataset",
fillColor: "rgba(0,0,0,0)",
strokeColor: "rgba(220,0,0,1)",
pointColor: "rgba(220,0,0,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,0,0,1)",
data: spData
};
如果您希望为隐藏系列插入新值,请在setTimeout中更新数据插入语句
var d = []
if (First) d.push(randomScalingFactor())
else {
spData.shift()
spData.push(randomScalingFactor())
}
if (Second) d.push(randomScalingFactor())
else {
ncData.shift()
ncData.push(randomScalingFactor())
}
if (Third) d.push(randomScalingFactor())
else {
spaData.shift()
spaData.push(randomScalingFactor())
}
工作小提琴 - http://jsfiddle.net/Lsg37amf/