首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Json响应绑定到Kendo网格

将Json响应绑定到Kendo网格
EN

Stack Overflow用户
提问于 2016-09-22 18:52:43
回答 2查看 129关注 0票数 0

我有点困惑如何在我的剑道网格中绑定响应。

获取响应表单服务,如下所示

我需要在Grid中显示响应,如下所示

我使用angular js,MVC和kendo来创建网格。

在Grid中修改我的响应数据最好。在MVC或Angular js中。

感谢预支

EN

回答 2

Stack Overflow用户

发布于 2016-09-22 20:28:11

我认为你不能在原生网格中做到这一点。但您可以使用变通方法-更改您的数据以表示必要的视图。

我在这里修改了某人的小提琴:http://jsfiddle.net/SugMK/47/

首先您必须对您的数据进行分组,在本例中,uid确定idtitle,因此您可以在uid上对其进行分组

代码语言:javascript
运行
复制
var result = _.groupBy(result, (item) => { return item.uid });

第二个在结果对象中迭代,其结构如下

代码语言:javascript
运行
复制
{ 
   uid1:  [
           {row1_with_uid1}, 
           {row2_with_uid1}
          ], 
    uid2: [
           {row1_with_uid2}, 
           {row2_with_uid2}
          ] 
} 

并使用您的自定义逻辑聚合(或不聚合)必要的行。在您的示例中,必须以br为分隔符将两个code字段合并为文本:

代码语言:javascript
运行
复制
_.forEach(result, (items) => {
     var newItem = items[0]; // set default.

     items.splice(0, 1); // since first item is default - remove it from aggregate array
     _.forEach(items, (item) => { newItem.code = newItem.code + "<br />" + item.code; }); // aggregate item.

     newResult.push(newItem); // save aggregated item.
});

Third您必须将聚合字段(代码)的encoded参数设置为false,以便将您的br表示为HTML而不是文本:

代码语言:javascript
运行
复制
{ field: "code", title: "multiline", encoded: false }

附注:我认为你可以创建自己更好的实现,但我创建这个例子是为了更好地理解我的想法。

票数 0
EN

Stack Overflow用户

发布于 2016-09-22 20:55:21

如果您更喜欢让网格的数据源处理数据分组和聚合,那么只需使用网格的数据源。下面的代码是剃刀语法,然而,在Kendo ui js中有一个直接等效的语法。

代码语言:javascript
运行
复制
DataSource(dataSource => dataSource
    .Server()
    .Aggregates(aggregates =>
    {
        aggregates.Add(p => p.Amount).Sum();
    })
    .Group(groups => groups.Add(p => p.CustomerName)
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39637053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档