Kendo ui 剑道图分组/排序
这是我遇到的问题的一个例子: 我试图在剑道图的条形图分组后对它们进行排序。我想按第三个字段(而不是类别或组)对它们进行排序。在上面的示例中,当我单击Sort by Score时,我希望第二组条按降序排序(Sort by CustomOrder字段) 我错过了什么?谢谢Kendo ui 剑道图分组/排序,kendo-ui,kendo-dataviz,Kendo Ui,Kendo Dataviz,这是我遇到的问题的一个例子: 我试图在剑道图的条形图分组后对它们进行排序。我想按第三个字段(而不是类别或组)对它们进行排序。在上面的示例中,当我单击Sort by Score时,我希望第二组条按降序排序(Sort by CustomOrder字段) 我错过了什么?谢谢 var group = "Student"; var category = "Test"; var sort = "Student"; function updateChart() { var chart = $("#c
var group = "Student";
var category = "Test";
var sort = "Student";
function updateChart() {
var chart = $("#chart").data("kendoChart");
chart.dataSource.group([{ field: group }]);
chart.dataSource.sort([{ field: sort }]);
chart.options.categoryAxis.field = category;
chart.options.title = "group by " + group + ", sort by " + sort;
chart.refresh();
}
这可能并不完美,但希望你能理解。如果绑定到数据源,则在数据源上进行排序和分组,它将触发图表的刷新
var myDataSource = new kendo.data.DataSource({
data: jsonData,
group: [{ "field": "Student"}],
sort: [
{ "field": "Test", "dir": "asc" },
{ "field": "CustomOrder", "dir": "asc" }
],
schema: {
model: {
fields: {
Student: {
"type": "string"
},
Test: {
"type": "string"
},
Value: {
"type": "number"
},
CustomOrder: {
"type": "number"
}
}
}
}
});
function groupByTest_click() {
group = "Test";
category = "Student";
updateChart();
$('#chart').data('kendoChart').dataSource.group([{ field: group }]);
$('#chart').data('kendoChart').dataSource.sort([{ field: sort, dir: "desc" }]);
}
在图表定义中,设置“组”:[],“排序”:[],并在每个方法中根据需要设置变量。如果要区分“asc”和“desc”,可能需要添加方向变量。正如@carter指出的,组和.sort将调用数据源上的刷新。由于您在定义中对组和排序都进行了“硬编码”,因此在刷新时优先。