我有一个充满数据的谷歌图表。 现在,当用户尝试对表进行排序(通过单击其中一列的标题)时,数据将按升序排序,第二次单击将再次对数据进行排序,这次是降序。 我想扭转这种行为,并让第一次单击“先前未排序”的列进行降序排序,第二次单击进行升序排序。
例如,在此 http://jsfiddle.net/wrebr0ze/
中,第一次点击“Salary”标题应该会使 $12,500 出现在顶部。第一次单击“名称”标题应该使迈克出现在顶部。
我尝试查看排序事件,但是虽然我可以捕获它,但我不想自己对数据进行排序,只是想让它触发正确的操作。
我查看了 api 中的此类选项,但没有运气,sortAscending
仅适用于初始排序(在数据显示之前),不适用于稍后排序。
最佳答案
不幸的是,没有一种简单的方法可以扭转这种行为。不过,这里有一个使用排序事件的解决方法:
var sorting={};
function drawTable() {
// ...code
var table = new google.visualization.Table(document.getElementById('table_div'));
google.visualization.events.addListener(table, 'sort', function(e){
if(!sorting.hasOwnProperty('column')){
sorting=e;
}
if(sorting.column==e.column){
sorting.desc=sorting.ascending;
sorting.ascending=!sorting.ascending;
}else{
sorting.desc=true;
sorting.ascending=false;
sorting.column=e.column;
}
data.sort([sorting]);
table.draw(data, {showRowNumber: true});
})
table.draw(data, {showRowNumber: true, sortAscending: false});
完整 fiddle :http://jsfiddle.net/wrebr0ze/1/
关于sorting - 如何在谷歌图表中将首次点击排序设置为降序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611972/