用日期格式化日期 monthformatter 你发布了,然后将控件的'useFormattedValue'选项设置为true:
monthformatter
var monthformatter = new google.visualization.DateFormat({pattern: "MMMM"}); monthformatter.format(data, 2); var control = new google.visualization.ControlWrapper({ containerId: 'control_div', controlType: 'CategoryFilter', options: { filterColumnIndex: 2, useFormattedValue: true, ui: { labelStacking: 'vertical', allowTyping: false, allowMultiple: false } } });
也许这是一个非常糟糕的答案,或者只是错误的答案:但我真的不认为这是可能的。您想根据月份名称过滤日期,但仍然查看日期?但是,您可以通过添加额外的字段来实现ControlWrapper持有数月的目标 - 并根据日期按月分类:
data.addColumn('string', 'Month');
并格式化这样的数据:
var rows = []; var months = ["January", "February", "March", "April", "May", "June","July", "August", "September","October", "November", "December" ]; for (var i = 0; i < response.rows.length; i++) { var month=months[new Date(response.rows[i][3]).getMonth()]; rows.push([parseInt(response.rows[i][0]), response.rows[i][1], response.rows[i][3], month ]); } data.addRows(rows);
不能截取屏幕截图,弹出窗口每次隐藏。
这是一个分叉的小提琴(认为这是你看到的#2) - &gt; http://jsfiddle.net/TkV7v/
如您所见,我尝试使用DataView隐藏额外的列
var view = new google.visualization.DataView(data); view.setColumns([0,1,2,3]); view.hideColumns([3])
但这不起作用:(显然可视化需要过滤数据才能看到。无法找到 setColumnWidth 功能或类似的东西。也许月份列可以转换为 { role: "tooltip" } ,没试过。
setColumnWidth
{ role: "tooltip" }
如上所述,我不知道这个答案值多少钱。如果无用或其他任何人破解代码,请删除它。