所以我正在使用一个Kendo网格,以及它的头是如何分组的。我目前使用的一个选项是,网格通过检查列表中的每个元素来获取我的列表和排序组。所以我得到了这样的东西:
->Roles: ->Roles:测试人员,经理,团队领导 ->Roles:测试器 ->Roles:首席执行官,Tester ->Roles:团队领导,首席执行官
(你知道了)。这是因为我的数据库模型中的“角色”在列表中(因为一个人可以有多个角色),而Kendo正在比较列表中的每个元素。但是,我希望它按每个人列表中的第一个元素分组,这样我就可以得到如下内容:
->Roles:测试器 ->Roles:经理 ->Roles:团队领导 ->Roles: ->Roles:首席执行官
等等,有人知道怎么做吗?目前我正在做
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" }
]
},但是,我对Kendo还不太熟悉,不知道正确地执行此操作的语法。谢谢大家的帮助!
编辑:我应该补充一点,因为许多将要使用IE8的人仍然需要/2012.2.710支持,所以我使用的是从/2012.2.710导入的Kendo,而不是最新的更新
发布于 2015-06-08 18:34:03
*编辑我的答案,假设用户将数据加载到函数之外,并且不对数据进行硬编码。
尝试在模式中使用解析函数,
我将在项目中添加您应该拥有的内容,例如:
$('.grid').kendoGrid({
dataSource: {
schema: {
parse: function(data) {
for (var i = 0; i < data.length; i++) {
data[i].firstWord = data[i].name.split(' ')[0];
}
return data;
}
}
group: {
field: "firstWord"
}
},
columns: [{
field: "name"
}, {
field: "firstWord",
hidden: true,
groupHeaderTemplate: "#=value#"
}]
});
发布于 2016-06-08 13:23:58
这只是对Ryan Hoyle answer's example的一个修正
var grid = $('#grid').kendoGrid({
dataSource: {
data: [{
name: 'Hello world'
}, {
name: 'Hello John Doe'
}, {
name: 'Hello Jane Doe'
}, {
name: 'Bye Jane Doe'
}, {
name: 'Bye World'
}],
schema: {
parse: function(data) {
data.forEach(d => d.firstWord = d.name.split(' ')[0]);
return data;
}
},
group: {
field: "firstWord"
}
},
columns: [{
field: "name"
}, {
field: "firstWord",
hidden: true,
groupHeaderTemplate: "#=value#"
}]
}).data().kendoGrid;<link href="http://kendo.cdn.telerik.com/2016.2.607/styles/kendo.common.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://kendo.cdn.telerik.com/2016.2.607/js/kendo.all.min.js"></script>
<div id="grid"></div>
https://stackoverflow.com/questions/25123588
复制相似问题