Javascript 谷歌可视化表格排名
到目前为止,我看到的是一个排名表,首先你会看到主表(allstores表),当你点击排名标题时,另一个表会弹出所有者商店,显示所有者相对于其他竞争对手商店的排名。我想要的是主表中每个标题上的箭头排序事件。我确实找到了一些解决方案,但这样做不会显示owners stores表 一些变化…Javascript 谷歌可视化表格排名,javascript,html,css,google-visualization,Javascript,Html,Css,Google Visualization,到目前为止,我看到的是一个排名表,首先你会看到主表(allstores表),当你点击排名标题时,另一个表会弹出所有者商店,显示所有者相对于其他竞争对手商店的排名。我想要的是主表中每个标题上的箭头排序事件。我确实找到了一些解决方案,但这样做不会显示owners stores表 一些变化… 只设置一个回调函数。 在调用回调之前,不要在google命名空间下创建东西 在这里,我使用sort事件对两个表进行相同的排序 var数据; var数据2; var表; var表2; var观点; var格式化程
只设置一个回调函数。
在调用回调之前,不要在
google
命名空间下创建东西
在这里,我使用sort
事件对两个表进行相同的排序
var数据;
var数据2;
var表;
var表2;
var观点;
var格式化程序;
变量选项={
showRowNumber:false,
宽度:“100%”,
高度:“100%”,
排序:“启用”,
排序:是的,
sortColumn:0
}
变量数组;
var dollarSign='$';
load('visualization','1',{'packages':['table'],'callback':draw});
函数allStores(){
data.addColumn('number','Rank');
data.addColumn('string','storename');
data.addColumn('number','Sales');
data.addColumn('number','SOS');
原始变量=([
[1,'Bayfair',489568],
[2,'Greerton',3158126],
[3,'Frankton',3689,79],
[4,'Mt Manganui',3069,72],
[5,'Tauranga',2689,68],
[6,'Te Rapa',2269,143],
[7,《基地》,1895125],
]);
data.addRows(原始);
var sorted=Raw.slice().sort(函数(a,b){返回b-a})
var ranks=Raw.slice().map(函数(v){return sorted.indexOf(v)+1});
var formatter=new google.visualization.NumberFormat({prefix:'$');
格式(数据,2);
}
函数绘图(){
formatter=new google.visualization.NumberFormat({前缀:'$');
data=new google.visualization.DataTable();
allStores();
Table=新的google.visualization.Table(document.getElementById('Table_div');
google.visualization.events.addListener(表'sort',sortTables);
排序表();
}
函数排序表(userSort){
if(userSort){
options.sortColumn=userSort.column;
options.sortAscending=userSort.ascending;
}
排序({column:options.sortColumn,desc:(!options.sortAscending)});
对于(var i=0;i
排名表
希望这有帮助,排序箭头将仅显示在当前已排序的列上。单击一次表示升序,再次单击表示降序。如果我遗漏了什么,请告诉我…嘿,排序函数是我想要的,但我仍然希望顶级表更改其相对于第二个表的排名顺序,但它现在没有这样做,知道如何合并它吗?我不确定是否遵循。是否希望顶部表格根据下部表格的排序时间自动排序?我们可以这样做…是的,这就是我想要的,但两个表上的排序箭头=)这接近我想要的,但不是单击顶部的表对两个表列进行排序,而是我想要它,这样当您单击第二个表时,它将对两个表列进行排序。我的原始代码出了什么问题?非常感谢
google.setOnLoadCallback(draw);
google.setOnLoadCallback(drawMystores);
var data = new google.visualization.DataTable();
function allStores() {
data.addColumn('number', 'Rank');
data.addColumn('string', 'Store Name');
data.addColumn('number', ' Sales');
data.addColumn('number', 'SOS');
var Raw= ([
[1 ,'Bayfair', 4895, 68 ],
[2 ,'Greerton', 3158, 126],
[3 ,'Frankton', 3689, 79],
[4 ,'Mt Manganui', 3069, 72],
[5 ,'Tauranga', 2689 , 68],
[6 ,'Te Rapa', 2269, 143],
[7 ,'The Base', 1895, 125],
]);