You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Timeline图表经ChartRangeFilter缩放后,如何关联选中行ID与原DataTable?

解决Google Timeline图表ChartRangeFilter缩放后选中行号与原DataTable关联的问题
  • 问题本质:ChartRangeFilter缩放后,Timeline实际绑定的是DataView(原DataTable的子集视图),此时getSelection()返回的row是视图内的相对索引,而非原表的实际行号。
  • 解决思路:通过ChartWrapper获取当前绑定的数据源,若为DataView则调用其getTableRowIndex()方法,将视图行号转换为原DataTable的实际行号。

修正后的代码示例

// 获取选中的视图行号
var viewRowId = chartWrapperObj.getChart().getSelection()[0].row;
// 获取ChartWrapper当前的数据源(可能是DataView或原DataTable)
var currentData = chartWrapperObj.getDataTable();
var originalRowId;

// 判断数据源类型,转换行号
if (currentData instanceof google.visualization.DataView) {
  originalRowId = currentData.getTableRowIndex(viewRowId);
} else {
  originalRowId = viewRowId;
}

// 从原DataTable中获取对应数据
var selectedValue = dataTable.getValue(originalRowId, 0);
  • 补充说明:getTableRowIndex()方法是DataView的原生方法,专门用于映射视图行到原DataTable的实际行索引,无论缩放、过滤操作多少次,都能准确关联原表数据。

内容的提问来源于stack exchange,提问作者Kannan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:42:11