0

0

Kendo UI Grid 中通过 UID 获取 dataItem 的正确方法

聖光之護

聖光之護

发布时间:2025-12-26 20:24:30

|

439人浏览过

|

来源于php中文网

原创

Kendo UI Grid 中通过 UID 获取 dataItem 的正确方法

在 kendo ui grid 中,通过 uid 获取 dataitem 时若始终返回 null,根本原因往往不是 uid 本身错误,而是调用 `grid.dataitem()` 所依赖的 dom 元素不符合 grid 内部校验要求:该方法仅接受由 grid 渲染并维护的原生 `

` 行元素(且必须已挂载到 grid.tbody 中),而手动拼接选择器(如 `tbody.find("tr[data-uid='...']")`)获取的 dom 节点可能因异步时机、模板重绘或事件上下文偏差导致无法被正确映射。

更可靠、推荐的做法是跳过 DOM 层级,直接操作数据源

// ✅ 正确方式:通过 dataSource.getByUid() 获取 dataItem
var grid = $("#yourGridID").data("kendoGrid");
if (grid && grid.dataSource) {
    var uidValue = "b318f970-79ec-472e-818f-f0d5adb6b5f3";
    var dataItem = grid.dataSource.getByUid(uidValue);

    if (dataItem) {
        console.log("成功获取 dataItem:", dataItem);
        // 可安全访问字段,如 dataItem.name、dataItem.id 等
    } else {
        console.warn("未找到 UID 对应的数据项,请确认 UID 是否存在于当前 dataSource 中");
    }
}

⚠️ 注意事项:

谱乐AI
谱乐AI

谱乐AI,集成 Suno、Udio 等顶尖AI音乐模型的一站式AI音乐生成平台。

下载
  • getByUid() 是 kendo.data.DataSource 的原生方法,不依赖 UI 渲染状态,因此在 AJAX 回调、延迟操作或 Grid 尚未完全初始化完成时依然可用;
  • 确保 uidValue 与数据项实际 uid 完全一致(区分大小写,无空格);可通过 console.log(grid.dataSource.data()) 检查当前数据集中的 uid 字段值;
  • 若使用服务器分页/筛选,需确保目标数据项已被加载到客户端 dataSource.data() 中;否则 getByUid() 将返回 undefined;
  • 避免在 Grid 初始化前调用(即确保 $("#yourGridID").data("kendoGrid") 不为 undefined),建议将逻辑置于 dataBound 事件回调或 setTimeout(..., 0) 延迟执行以保障初始化完成。

✅ 总结:当 grid.dataItem(tr) 返回 null 时,优先转向 dataSource.getByUid(uid) ——它更稳定、语义更清晰,且与 Kendo 数据生命周期深度对齐,是处理 UID 查找场景的标准实践。

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

145

2023.06.14

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

159

2023.08.31

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

108

2023.11.15

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

224

2024.09.24

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

226

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

430

2024.03.01

console接口是干嘛的
console接口是干嘛的

console接口是一种用于在计算机命令行或浏览器开发工具中输出信息的工具,提供了一种简单的方式来记录和查看应用程序的输出结果和调试信息。本专题为大家提供console接口相关的各种文章、以及下载和课程。

409

2023.08.08

console.log是什么
console.log是什么

console.log 是 javascript 函数,用于在浏览器控制台中输出信息,便于调试和故障排除。想了解更多console.log的相关内容,可以阅读本专题下面的文章。

473

2024.05.29

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

25

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号