Javascript 剑道格网:按列表中的第一个元素分组

Javascript 剑道格网:按列表中的第一个元素分组,javascript,kendo-grid,Javascript,Kendo Grid,因此,我正在使用剑道网格以及如何对其标题进行分组。我目前使用的一个选项是网格通过检查列表中的每个元素来获取列表并对组进行排序。因此,我得到了如下结果: ->角色: ->角色:测试人员、经理、团队负责人 ->角色:测试人员 ->职位:首席执行官、测试人员 ->职位:团队领导、首席执行官 (你明白了)。这是因为我的数据库模型中的“角色”在一个列表中(因为一个人可以有许多角色),剑道网格正在比较该列表中的每个元素。但是,我希望它仅按每个人列表中的第一个元素进行分组,因此我得到如下结果: ->角色:测试

因此,我正在使用剑道网格以及如何对其标题进行分组。我目前使用的一个选项是网格通过检查列表中的每个元素来获取列表并对组进行排序。因此,我得到了如下结果:

->角色:

->角色:测试人员、经理、团队负责人

->角色:测试人员

->职位:首席执行官、测试人员

->职位:团队领导、首席执行官

(你明白了)。这是因为我的数据库模型中的“角色”在一个列表中(因为一个人可以有许多角色),剑道网格正在比较该列表中的每个元素。但是,我希望它仅按每个人列表中的第一个元素进行分组,因此我得到如下结果:

->角色:测试人员

->角色:经理

->角色:团队领导

->角色:

->角色:首席执行官

有人知道怎么做吗?目前我正在做

group: {
                field: "RoleName",
                aggregates: [
                    { field: "ResourceName", aggregate: "count" },
                    { field: "OrganizationName", aggregate: "count" }
                ]
            },
我假设我想做更多的事情:

group: {
                field: "RoleName.get(0)",
                aggregates: [
                    { field: "ResourceName", aggregate: "count" },
                    { field: "OrganizationName", aggregate: "count" }
                ]
            },
然而,我对剑道格网还不够熟悉,不知道正确使用的语法。提前感谢您的帮助


编辑:我应该补充一点,因为许多将要使用它的人仍然需要IE8支持,我使用的是来自/2012.2.710的剑道网格导入,而不是最新的更新。

*编辑我的答案假设用户在函数外部加载数据,而不是在数据中硬编码

尝试在模式中使用parse函数

我只想补充一下您在项目中应该拥有的内容,例如:

$('.grid').kendoGrid({
数据源:{
模式:{
解析:函数(数据){
对于(变量i=0;i这只是一个修复:

var grid=$(“#grid”).kendoGrid({
数据源:{
数据:[{
名字:“你好,世界”
}, {
姓名:“你好,约翰·多伊”
}, {
姓名:“你好,简·多伊”
}, {
姓名:“再见,简·多伊”
}, {
名字:“再见世界”
}],
模式:{
解析:函数(数据){
data.forEach(d=>d.firstWord=d.name.split(“”)[0]);
返回数据;
}
},
组:{
字段:“第一个字”
}
},
栏目:[{
字段:“名称”
}, {
字段:“第一个字”,
隐藏:是的,
groupHeaderTemplate:“#=值”
}]
}).data().kendoGrid