我有一个充满数据的谷歌图表。 现在,当用户尝试对表进行排序时(通过单击其中一个列的标题),数据将按升序排序,然后第二次单击会再次对数据进行排序,这次是降序。 我想要改变这种行为,并首先点击“之前未排序的”'列为降序排序,第二次单击升序排序。
例如,在此http://jsfiddle.net/wrebr0ze/
中首次点击" Salary"标题应该是12,500美元出现在顶部。首先点击"姓名"标题应该让迈克出现在最前面。
我尝试查看sort事件,但是虽然我可以捕获它,但我不想自己对数据进行排序,只是想让它触发正确的操作。
我看了api这样的选项,但没有运气,sortAscending
只适用于初始排序(在数据显示之前),而不是以后。
答案 0 :(得分:2)
不幸的是,没有一种简单的方法来扭转这种行为。不过,这里有一个使用sort事件的解决方法:
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});