You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kendo Grid中批量添加AJAX返回的多个用户数据

解决Kendo Grid批量追加用户的问题

问题原因

你的代码出错的核心原因是:

  • 响应中的Users是数组类型,而非单个用户对象,直接访问response.Users.FirstName会返回undefined(数组本身没有FirstName属性)。
  • 原代码仅构造并添加了一条错误的newRow,所以只会出现一条显示undefined undefined的无效条目。

解决方案

根据Kendo Grid的API,有两种高效的批量添加方式:

方式1:逐个遍历添加(适合需要自定义字段映射的场景)

遍历返回的用户数组,将每个用户对象逐个添加到Grid的数据源中:

var grid = $("#UsersTable-").data("kendoGrid");
// 遍历所有返回的用户
response.Users.forEach(function(user) {
    // 若Grid字段与返回结构完全匹配,直接传入user对象即可
    grid.dataSource.add(user);
    
    // 如果需要自定义字段(比如把状态码转为文本),可以手动构造对象
    // grid.dataSource.add({
    //     FirstName: user.FirstName,
    //     LastName: user.LastName,
    //     Email: user.Email,
    //     Status: user.Status === 1 ? "启用" : "禁用"
    // });
});

方式2:批量添加(高效推荐)

使用Kendo DataSource提供的addMany()方法,直接批量插入整个用户数组,无需手动循环:

var grid = $("#UsersTable-").data("kendoGrid");
grid.dataSource.addMany(response.Users);

注意事项

  • 确保Grid的列字段与返回的用户对象属性名完全匹配(比如FirstName、LastName等),否则需要在添加时手动映射字段。
  • 如果需要Grid立即刷新显示新数据,可在添加后调用grid.refresh()(不过add或addMany通常会自动触发刷新)。

内容的提问来源于stack exchange,提问作者esoteric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:04:58