Sorting 如何在google图表表中将首次单击排序设置为降序

Sorting 如何在google图表表中将首次单击排序设置为降序,sorting,google-visualization,Sorting,Google Visualization,我有一个谷歌图表表,里面有很多数据。 现在,当用户尝试对表进行排序时(通过单击列标题之一),数据将按升序排序,第二次单击将再次对数据进行排序,这次是按降序排序。 我想改变这种行为,第一次单击“未预先排序”列,按降序排序,第二次单击升序排序 例如,在这个http://jsfiddle.net/wrebr0ze/第一次单击“工资”标题时,顶部应显示12500美元。第一次点击“名字”标题应该使Mike出现在顶部 我试图查看sort事件,但尽管我可以捕获它,但我不想自己对数据进行排序,只想让它触发正确的

我有一个谷歌图表表,里面有很多数据。 现在,当用户尝试对表进行排序时(通过单击列标题之一),数据将按升序排序,第二次单击将再次对数据进行排序,这次是按降序排序。 我想改变这种行为,第一次单击“未预先排序”列,按降序排序,第二次单击升序排序

例如,在这个
http://jsfiddle.net/wrebr0ze/
第一次单击“工资”标题时,顶部应显示12500美元。第一次点击“名字”标题应该使Mike出现在顶部

我试图查看sort事件,但尽管我可以捕获它,但我不想自己对数据进行排序,只想让它触发正确的操作。
我查看了api中的此类选项,但运气不佳,
排序仅适用于初始排序(在数据显示之前),不适用于以后的排序。

不幸的是,没有一种简单的方法可以扭转这种行为。不过,这里有一个使用排序事件的解决方法:

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});

全小提琴:

谢谢!唯一需要注意的是,此解决方案删除了排序箭头。这是如何使它们返回:
table.draw(数据,{showRowNumber:true,sortColumn:sorting.column,sortScending:sorting.升序})
True,这也消除了对data.sort的需要。祝你的项目好运