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

如何在JQGrid自定义格式化器中获取另一列的值?

解决JQGrid自定义格式化器依赖另一列值的问题

我帮你看看这个问题~你之前的代码里有个关键错误:options.colModel[12]取的是第13列的配置信息(比如列名、宽度这些),而不是该行该列的实际单元格值,所以逻辑肯定不生效。

JQGrid的格式化器函数里,rowObject参数其实就是当前行的完整数据,你可以直接通过它获取其他列的值,具体分两种情况:

情况1:数据是对象形式(推荐,比如远程JSON返回的结构)

如果你的表格数据是JSON对象数组(每个行是一个对象,键对应列的name属性),直接通过对象属性名获取另一列的值:

function profileConsentFmatter(cellvalue, options, rowObject) {
    // 把这里的"userRole"换成你实际用来判断的列的name属性值
    const userRole = rowObject.userRole;
    if (userRole === "CORPADMIN") {
        return "Company Admin";
    } else if (cellvalue === "true") {
        return "Yes";
    } else {
        return "Pre GDPR";
    }
}

情况2:数据是数组形式(本地二维数组数据)

如果你的表格数据是二维数组(每个行是一个数组,元素顺序对应列的顺序),就通过数组索引获取另一列的值(注意索引从0开始,第13列对应索引12):

function profileConsentFmatter(cellvalue, options, rowObject) {
    // 这里的12是你要依赖的列的索引(从0开始计数)
    const userRole = rowObject[12];
    if (userRole === "CORPADMIN") {
        return "Company Admin";
    } else if (cellvalue === "true") {
        return "Yes";
    } else {
        return "Pre GDPR";
    }
}

额外提醒

  • 确保你依赖的列在colModel中已经正确配置,并且数据确实包含该列的值;
  • 如果是远程加载数据,要确认返回的JSON结构和你使用的属性名/索引对应一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:41:22