gpt4 book ai didi

javascript - Kendo UI 图表中的分组和计数

转载 作者:行者123 更新时间:2023-11-30 12:07:32 25 4
gpt4 key购买 nike

我有一个数据源,我想用它按 item 分组并计算图表中的出现次数。

例如,“项目 1”的计数为 2,“项目 2”的计数为 3,“项目 3”的计数为 1。

http://jsfiddle.net/mga6f/506/

我已经尝试添加 group 但它仍然不起作用:

group: [{
field: "item"
}],

有谁知道如何修改以下代码以执行上述功能?

var dataSource = new kendo.data.DataSource({
data: [
{ id: 1, item: "Item 1" },
{ id: 2, item: "Item 1" },
{ id: 3, item: "Item 2" },
{ id: 4, item: "Item 2" },
{ id: 5, item: "Item 2" },
{ id: 6, item: "Item 3" }
],
group: [{
field: "item"
}],
schema: {
model: {
id: "id",
fields: {
id: { type: "number", editable: false },
value: { type: "number" },
item: { type: "string" }
}
}
}
});

$("#chart").kendoChart({
dataSource: dataSource,
autoBind: false,
categoryAxis: {
field: "item"
},
series: [
{ field: "value", name: "Value" }
]
});

dataSource.read();

最佳答案

您可以使用 fetch method在分组数据源上读取数据,然后创建一个新的项目数组及其计数:

var transformedData = [];
dataSource.fetch(function () {
var v = this.view();
for (var i = 0; i < v.length; i++) {
var item = v[i].value;
var val = v[i].items.length;
transformedData.push({item: item, value: val});
}
});


$("#chart").kendoChart({
dataSource: transformedData,
categoryAxis: {
field: "item"
},
series: [
{ field: "value", name: "Value" }
]
});

已更新 FIDDLE

关于javascript - Kendo UI 图表中的分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34751436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com