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

如何从DevExtreme DataGrid的CellTemplate调用的JS方法中提取数据?

解决DevExtreme DataGrid CellTemplate中提取行数据的问题

在DevExtreme DataGrid的CellTemplate回调函数中,你直接访问data.ShipCountry出问题的原因是:传入的参数不是直接的行数据对象,而是包含单元格上下文信息的复合对象,行数据实际嵌套在该对象的data属性中。

修正后的代码

将你的JavaScript函数修改为:

function transformData(cellElement, cellInfo) {        
    // cellInfo.data 对应当前行的SampleOrder实体
    return cellInfo.data.ShipCountry.toUpperCase();
}

调试辅助方案

如果不确定参数结构,可以在函数里打印完整参数到控制台,直观查看内部属性:

function transformData(cellElement, cellInfo) {        
    console.log(cellInfo); // 在浏览器控制台查看完整的单元格信息对象
    return cellInfo.data?.ShipCountry?.toUpperCase() || ''; // 可选:添加空值保护避免报错
}

参数结构说明

DevExtreme为CellTemplate传入两个核心参数:

  • 第一个参数cellElement:当前单元格的DOM元素
  • 第二个参数cellInfo:包含单元格上下文的信息对象,其中cellInfo.data才是你需要的当前行绑定实体(即SampleOrder对象)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:20:10