我有一个按“环境”分组的Kendo条形图。问题在于,我无法按最大到最小的顺序对类别轴项目进行排序。而是根据分组中按字母顺序排在第一位的数据对数据进行排序。如果环境B的计数为30,但环境A的计数为2,则即使环境A的计数较低,环境A也将排在最前面,因为按字母顺序A在B之前。我曾经尝试过在他们的文档中找到一个函数,但是该函数按字母顺序而不是计数对轴进行排序。我也尝试在我的数据源端sql上进行排序,但这也不起作用。以下是我的剑道密码。
.DataSource(ds => ds.Read(read => read.Action("Defects", "Binding"))
.Group(g => g.Add(m => m.Environment)))
.Series(series =>
{
series.Bar(m => m.Count, categoryExpression: m => m.Stories)
.Labels(l => l.Visible(true).Position(ChartBarLabelsPosition.OutsideEnd))
.Spacing(3)
.Gap(4);
})
.CategoryAxis(axis => axis
.Labels(l => l.Visible(true).Template("#= shortLabels(value)#")))
)
基本上,您可以在Databound事件上添加排序函数
dataBound: function(e) {
//get your axis
var axis = e.sender.options.categoryAxis;
//loop your items and order then with your criteria
},