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

如何不修改原JSON,将dynatable表格的id列显示为securityNumber

解决Dynatable表头重命名(不修改原始JSON)的方案

不用愁,Dynatable其实是支持自定义表头文本的,只是可能你没挖到文档里的这个配置点。下面给你两种靠谱的解决办法,还附了替代插件的方案:

方法一:直接用Dynatable的columns配置自定义表头

初始化Dynatable的时候,通过columns选项手动指定每个字段的表头标签,这样既不用修改原始JSON,又能把id显示成securityNumber。示例代码如下:

// 假设你的原始数据存在originalData变量里
$('#your-table-id').dynatable({
  dataset: {
    records: originalData
  },
  columns: [
    {
      attribute: 'id', // 对应原始JSON的属性名
      label: 'securityNumber', // 你想要显示的表头文本
      visible: true // 确保该列显示
    },
    // 把其他需要显示的字段也按这个格式列出来,比如:
    {
      attribute: 'username',
      label: 'Username'
    },
    {
      attribute: 'email',
      label: 'Email Address'
    }
    // 更多字段...
  ]
});

如果你的字段很多,不想手动一个个写,可以用动态生成columns数组的方式,自动替换id的表头:

const originalData = [/* 你的数据库返回的对象列表 */];
// 从第一条数据获取所有字段名,生成columns配置
const columns = Object.keys(originalData[0]).map(field => {
  return {
    attribute: field,
    label: field === 'id' ? 'securityNumber' : field
  };
});

$('#your-table-id').dynatable({
  dataset: {
    records: originalData
  },
  columns: columns
});

方法二:如果Dynatable不好用,换用DataTables插件

要是你觉得Dynatable的配置不够顺手,DataTables是个更流行的替代方案,它的表头自定义逻辑更直观:

$('#your-table-id').DataTable({
  data: originalData,
  columns: [
    { data: 'id', title: 'securityNumber' },
    { data: 'username', title: 'Username' },
    { data: 'email', title: 'Email Address' }
    // 更多字段...
  ]
});

同样支持动态生成columns:

const columns = Object.keys(originalData[0]).map(field => {
  return {
    data: field,
    title: field === 'id' ? 'securityNumber' : field
  };
});

$('#your-table-id').DataTable({
  data: originalData,
  columns: columns
});

这两种方法都完全不会修改你的原始JSON数据,只是在渲染表格的时候替换了表头文本,应该能完美解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:13:24