我使用 Google Apps 脚本创建了一个用户界面,该用户界面在图表对象(如 TableChart 和 PieChart)中显示数据。
图表对象允许用户选择饼图的一部分和表格中的多条线。我希望我的代码知道图表中选择的数据是什么。
我有办法吗?如果没有,我将在 GAS 问题跟踪器中填写功能请求。
谢谢
蒂埃里
我使用 Google Apps 脚本创建了一个用户界面,该用户界面在图表对象(如 TableChart 和 PieChart)中显示数据。
图表对象允许用户选择饼图的一部分和表格中的多条线。我希望我的代码知道图表中选择的数据是什么。
我有办法吗?如果没有,我将在 GAS 问题跟踪器中填写功能请求。
谢谢
蒂埃里
是的。请参阅getSelection()的文档
getSelection() [可选]
这可以由希望让您访问图形中当前选定数据的可视化选择公开。
selection_array getSelection()
退货
selection_array 选定对象的数组,每个对象描述用于创建可视化的基础表(DataView 或 DataTable)中的数据元素。每个对象都有属性行和/或列,以及底层数据表中所选项目的行和/或列的索引。如果 row 属性为 null,则选择是一列;如果 column 属性为 null,则选择为一行;如果两者都不为空,则它是一个特定的数据项。您可以调用 DataTable.getValue() 方法来获取所选项目的值。检索到的数组可以传递给 setSelection()。
例子
function myClickHandler(){ var selection = myVis.getSelection(); for (var i = 0; i < selection.length; i++) { var item = selection[i]; if (item.row != null && item.column != null) { message += '{row:' + item.row + ',column:' + item.column + '}'; } else if (item.row != null) { message += '{row:' + item.row + '}'; } else if (item.column != null) { message += '{column:' + item.column + '}'; } } if (message == '') { message = 'nothing'; } alert('You selected ' + message); }
我结束了这个问题,因为现在很明显,目前没有解决方案可以使用 GAS 访问图表中的选定数据。
此处已填写功能请求http://code.google.com/p/google-apps-script-issues/issues/detail?id=2351。
功能请求已被接受。实施新功能后,我将编辑此答案。
干杯,
蒂埃里