我有stringfilters绑定到我的数据表。
我想从stringfilter获得的是能够像查询一样进行搜索。
有一个名字的colomn - 每一行的名称 - 例如 - " Steve"," Monica"," Andreas","迈克尔""史蒂夫""安德烈亚斯",...
我希望在StringFilter中同时拥有Monica和Steve两行。
我希望能够像这样搜索
史蒂夫+莫妮卡
或
"史蒂夫" +"莫妮卡"
或
"史蒂夫""莫妮卡"
这是我的一个字符串过滤器:
var stringFilter1 = new google.visualization.ControlWrapper({
controlType: 'StringFilter',
containerId: 'string_filter_div_1',
options: {
filterColumnIndex: 0, matchType : 'any'
}
});
答案 0 :(得分:1)
我遇到了类似的问题,最后我创建了自己的函数来过滤我的行。我用你描述的功能做了一个例子,但我不确定它是最好的还是正确的方式,但它有效。
一个缺陷是你需要输入与输入名称完全相同的名称,全名和大写字母。
Fiddle,尝试添加多个以“+”分隔的名称(并且没有空格)。
我添加的功能如下:
function redrawChart(filterString) {
var filterWords = filterString.split("+")
var rows = []
for(i = 0; i < filterWords.length; i++) {
rows = rows.concat(data.getFilteredRows([{value:filterWords[i], column:0}]))
}
return rows
}
侦听字符串输入中的更新的侦听器如下所示:
google.visualization.events.addListener(control, 'statechange', function () {
if (control.getState().value == '') {
realChart.setView({'rows': null})
}else{
realChart.setView({'rows': redrawChart(control.getState().value)})
}
realChart.draw();
});
可能不是一个完整的解决方案,但也许是一些新的想法和指导你自己的想法。