是否可以根据服务器的数据动态创建过滤器?
类似于How to add search filter for Table with server side populated data的内容,但我想知道是否可以在信息中心中创建/删除绑定的控件。
var control = new google.visualization.ControlWrapper({
chartType: 'StringFilter',
containerId: 'table_div',
options: {
filterColumnIndex: 0
}
});
而不是上面的代码,我会有像
这样的东西for (var i=0; i< data.cols.length; i++) {
var control = new google.visualization.ControlWrapper({
chartType: 'StringFilter',
containerId: data.cols[i].id
options: {...}
});
}
然后在创建所有过滤器后将它们绑定到仪表板。这适用于第一个数据和相同类型的重复数据。但是,当我对来自服务器的不同数据进行处理时,却没有说
&#34;一个或多个参与者未能绘制()&#34;
所以,我的问题是,可以动态删除和重新创建创建的控件吗?
答案 0 :(得分:0)
您无法取消绑定控件,但您应该能够创建一个数据结构来保存一组控件:
var controls = [];
for (var i=0; i< data.cols.length; i++) {
controls.push(new google.visualization.ControlWrapper({
chartType: 'StringFilter',
containerId: data.cols[i].id
options: {...}
}));
}
dashboard.bind(controls, [chart1, chart2, ...]);
如果您收到"One or more participants failed to draw()"
错误,则需要调试代码以找出引发错误的内容,因为这是Dashboard在某处出错的一般错误。