我有一个包含数据的Google电子表格。 (我简化了所有示例以便于阅读):
+-------+--------+-------+
| Name | Email | other |
+-------+--------+-------+
| Name1 | Email1 | info1 |
| Name2 | Email2 | info2 |
+-------+--------+-------+
我正在使用google.visualization.Query将数据从电子表格加载到html网页。
我从查询中创建了一个google.visualization.DataTable,然后从DataTable创建了一个可视化表。
现在我想在用户点击一行时编辑电子表格,我的旧代码很简单,只是发了一个新事件
var DataTable= response.getDataTable(); //response is the response after sending the google.visualization.Query
var Table = new google.visualization.Table (...);
google.visualization.events.addListener(visualization_table, 'select', selectedRow);
function selectedRow(){
alert(Table.getSelection()[0]);
}
当查询包含整个spreadhseet时,代码正在工作(select *) 但是当你过滤某一行时,例如(选择* C包含'John')
显然,html代码中的表与电子表格没有相同的行索引,所以我不能使用Table.getSelection()[0]。
有没有办法让“真正的”行索引正确编辑?
答案 0 :(得分:0)
我从来没有查询过这样的数据源,但是我注意到DataTable上的两个方法可能会有所帮助:
DataTable.getColumnId(columnIndex);
DataTable.getRowId(rowIndex)
返回基础表中列索引指定的给定列的标识符。对于通过查询检索的数据表,列标识符由数据源设置,可用于在使用查询语言时引用列。