我正在使用Google Visualization API编写一个JavaScript web工具。我想要的功能之一是在列中单击,并具有yes-no选项。如果选择了yes,则该特定列将被隐藏。我添加了这个监听器和这个函数来隐藏列:
/* Define a table */
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'chart2',
'options': {
'sortColumn': '-1',
'allowHtml' : 'true',
},
'style' : {
'white-space' : 'nowrap'
}
});
google.visualization.events.addListener(table, 'select',
function (){
var tablewrapper = table.getChart();
//var columnId = tablewrapper.getColumnDescriptions();
//console.log(tablewrapper);
/*var columnIndex = tablewrapper.getViewColumnIndex(); */
var selection = tablewrapper.getSelection();
for(var i = 0; i < selection.length; i++){
var item = selection[i];
console.log('{row:' + item.row + ',column:' + item.column + '}');
}
}
);
function hideColumn(columnIndex){
$('#chart2 td:nth-child(' + (columnIndex+1) + ')').hide();
return;
}
但是,ev
不具有称为column
的属性,该属性可以引用列索引。有人知道我该怎么做吗?如果我错过了什么?谢谢
也许您需要Dataview?您可以使用hideColums()方法来隐藏指定的列。
基础DataTable的只读视图。DataView允许仅选择列和/或行的子集。它还允许重新排序列/行以及复制列/行。
视图是底层DataTable上的活动窗口。。。
编辑getSelection()可能更适合你的问题。