【发布时间】:2015-10-13 09:13:55
【问题描述】:
我有来自服务器的数据
Id AppId
1 23
2 28
1 69
1 123
在剑道网格上怎么弄成这样
Id AppId
1 23,69,123
2 28
【问题讨论】:
标签: kendo-ui kendo-grid kendo-asp.net-mvc
我有来自服务器的数据
Id AppId
1 23
2 28
1 69
1 123
在剑道网格上怎么弄成这样
Id AppId
1 23,69,123
2 28
【问题讨论】:
标签: kendo-ui kendo-grid kendo-asp.net-mvc
您可以使用数据源的分组功能:
var data = [
{Id: 1, AppId: 23},
{Id: 2, AppId: 28},
{Id: 1, AppId: 69},
{Id: 1, AppId: 123},
];
var ds = new kendo.data.DataSource({
data: data,
schema: {
model: {
fields: {
Id: { type: "number" },
AppId: { type: "number" },
}
}
},
group: {
field: "Id"
}
});
那么如果你想按特征使用网格分组:
$("#grid").kendoGrid({
dataSource: ds,
columns: [
{ field: "Id", title: "ID", },
{ field: "AppId", title: "Application ID" },
]
});
如果你想要逗号分隔的列表,使用数据源的 fetch() 方法来构建新的数据数组:
var groupedData = [];
ds.fetch(function(){
var data = this.view();
for (var i=0; i< data.length; i++){
var id = data[i].value;
var text = '';
for (var j=0; j< data[i].items.length; j++){
text += data[i].items[j].AppId;
if (j< data[i].items.length - 1){
text += ',';
}
}
groupedData.push({Id: id, AppId: text});
}
});
$("#grid2").kendoGrid({
dataSource: groupedData,
columns: [
{ field: "Id", title: "ID", },
{ field: "AppId", title: "Application ID" },
]
});
以下 DOJO 提供了这两种选择:
【讨论】: