我有一个ChartWrapper:
table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'table_div',
'options': {
'allowHtml': true,
},
});
我想将表格中可视化的数据导出到csv(在制作一些过滤器之后)所以我得到了数据表:
var dataTableTmp = table.getDataTable();
现在,如果我尝试从dataTable中删除一列:
dataTableTmp.removeColumn(0);
我收到以下错误:
未捕获的TypeError:undefined不是函数
有什么问题?
答案 0 :(得分:6)
getDataTable
方法返回传递给ChartWrapper dataTable
参数的任何对象。对于Dashboards,ChartWrapper实际上接收的是DataView,而不是DataTable。你可以采取几种不同的方法去除"删除"该列,取决于您要通过删除它想要完成的任务。
如果您需要做的就是从数据中读取,忽略第一列,最简单的解决方案是迭代从索引1开始的列,而不是0。
您还可以根据现有数据创建新的DataView,并限制视图中的列,例如:
var view = new google.visualization.DataView(dataTableTmp);
view.setColumns([1, 2, 3, 4 /* etc... */]);
您还可以将DataView转换为实际的DataTable,然后从DataTable中删除该列:
var dt = dataTableTmp.toDataTable();
dt.removeColumn(0);