Google Visualization:如何从DataTable中删除列

时间:2014-07-23 14:24:57

标签: javascript jquery html google-visualization

谷歌可视化中的

我有一个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不是函数

有什么问题?

1 个答案:

答案 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);