Javascript 对google visualization datatable的不同值进行排序
在阿斯格兰特先生的回答的帮助下,我创造了一个新的世界。在这里,我将数据表旋转为Javascript 对google visualization datatable的不同值进行排序,javascript,sorting,datatable,google-visualization,Javascript,Sorting,Datatable,Google Visualization,在阿斯格兰特先生的回答的帮助下,我创造了一个新的世界。在这里,我将数据表旋转为 var distinctValues = data.getDistinctValues(3); var viewColumns = [0, 1]; var groupColumns = []; // build column arrays for the view and grouping for (var i = 0; i < distinctValues.length; i++) { viewCo
var distinctValues = data.getDistinctValues(3);
var viewColumns = [0, 1];
var groupColumns = [];
// build column arrays for the view and grouping
for (var i = 0; i < distinctValues.length; i++) {
viewColumns.push({
type: 'number',
label: distinctValues[i],
calc: (function (x) {
return function (dt, row) {
return (dt.getValue(row, 3) == x) ? 1 : 0;
}
})(distinctValues[i])
});
groupColumns.push({
column: i+2,
type: 'number',
//label: distinctValues[i],
aggregation: google.visualization.data.sum
});
}
var distinctValues=data.getDistinctValues(3);
var viewColumns=[0,1];
var groupColumns=[];
//为视图和分组生成列数组
对于(变量i=0;i
但是如果我使用
data.getDistinctValues(3)
方法,不同的值将按升序排序为四月、二月、一月、三月
。因此,如何禁用排序,并获得列的顺序,如1月、2月、3月、4月
?您必须手动重新排序。如果您的值总是相同的(比如一个月的列表),那么您可以硬编码该列表:var distinctvalue=['一月'、'二月'、'三月'…]代码>而不是动态计算。是的。。。但月份列应根据数据动态添加。因此,如果我硬编码它,即使数据表中不存在特定的月份,额外的列也将添加零值。或者如果我硬编码它,是否有任何技术可以用零值隐藏月份列?仅供参考:您可以构建一个数组,其中只包含数据集中的月份:我调整了代码以按月份和年份排序,并用几年的数据制作了一个测试用例: