我正在使用Google DataView 类。有什么办法可以找到列的ID 叫什么名字
DataView类具有 getColumnLabel 方法,但我缺少该方法 可以命名为 getColumnIdByName
答案 0 :(得分:2)
name
是标签。如果我的理解正确,那么这个答案如何?请认为这只是几个答案之一。
在此答案中,准备了一个用于从标签中检索列ID的对象,因为不幸的是,我找不到直接从标签中检索列ID的方法。
var data = google.visualization.arrayToDataTable([
[{id: "id1", label: 'col1'}, {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
['1', 2, 3],
['2', 4, 6],
['3', 6, 9],
['4', 8, 12],
['5', 10, 15],
]);
var view = new google.visualization.DataView(data);
// Here, the object for searching the column ID is created.
var col = view.getNumberOfColumns();
var obj = {};
for (var i = 0; i < col; i++) {
obj[view.getColumnLabel(i)] = view.getColumnId(i);
}
console.log(obj); // <--- {col1: "id1", col2: "id2", col3: "id3"}
console.log(obj["col3"]); // <--- id3
在这种情况下,如果使用['col1', {id: "id2", label: 'col2'}, {id: "id3", label: 'col3'}],
,则返回{col1: "", col2: "id2", col3: "id3"}
。例如,如果您不想包含col1: ""
,则还可以使用以下脚本。
var col = view.getNumberOfColumns();
var obj = {};
for (var i = 0; i < col; i++) {
var id = view.getColumnId(i);
if (id) {
obj[view.getColumnLabel(i)] = id;
}
}
如果我误解了你的问题,这不是你要我道歉的方向。那时,您可以提供当前的脚本吗?由此,我想对其进行修改。