跳至主要内容

表格模板:先定列头和行,再决定 Rows 写数组、变量名还是函数名 | Mingcedar Studio

table 模板适合统一展示规则化的二维数据。它通过表头、行数据和数据来源驱动内容更新,避免逐个单元格手工维护。

模板方法Table文档修订:2026-10-21
Table

表格模板:先定列头和行,再决定 Rows 写数组、变量名还是函数名

table 模板适合统一展示规则化的二维数据。它通过表头、行数据和数据来源驱动内容更新,避免逐个单元格手工维护。

表格模板有哪些关键字段

Table name 为显示标题,Table text ID 为标题翻译键,均非脚本查找名。Headers 为列标题,Header text IDs 为列标题翻译键,Rows 为二维数组。

Headers 和 Rows 字段填写规则

Headers、Rows 接受数组、Page Script 数组变量或返回数组的函数,如 =buildPumpRows()。固定文字加引号;Tag 名称字符串不能直接作为行数据。

  • 直接表头:['设备', '状态']
  • 直接行:[['Pump 1', 'Running'], ['Pump 2', 'Stop']]
  • 引用变量:Rows 填 tableRows
  • 引用函数:Rows 填 buildTableRows;显式调用填写 =buildTableRows()
Table Rows 写法:数组、变量名或函数名

Rows 既可以直接写数组,也可以写变量名,还可以写函数名。推荐把稍复杂的数据放在 Page Script 里准备好,然后在 Rows 配置框里填变量名 tableRows。

  • 直接数组适合快速静态表格
  • 变量名适合页面脚本提前准备数据
  • 函数名适合需要运行时重新计算表格数据的场景
var tableRows = [
  ["Pump 1", "Running"],
  ["Pump 2", "Stop"]
];

// Table 模板的 Rows 配置框填:tableRows
表格中接入 Tag 结果

把 Tag 读取放进 Page Script 函数,每次表格求值时返回最新二维数组。Rows 使用函数名或显式 = 调用。仅在页面脚本顶层读取一次并存入数组,不会自动重新读取 Tag。

function buildTableRows() {
  return [
    ["Pump 1", ReadTagString("PLC_LINE01.PUMP01.STATUS_TEXT", "")],
    ["Pump 2", ReadTagString("PLC_LINE01.PUMP02.STATUS_TEXT", "")]
  ];
}

// Table 模板的 Rows 配置框填:buildTableRows
// 或者:=buildTableRows()
结构化行数据接入

后端或聚合数据可写入 JSON Tag。Page Script 用 ReadTagJson("PLC_LINE01.REPORT01.ROWS", []) 读取,再转换为 Table 所需二维数组。

表头和多语言

Headers 适合直接声明当前表头;Header Text IDs 适合接入统一语言键。项目需要多语言时,优先维护稳定 Text ID,再把默认表头作为默认显示。

表格常见错法

Rows 接受数组、数组变量、函数或 =buildPumpRows() 表达式。复杂整理放在 Page Script 函数中;一次读取的数组不会持续更新。

表格模板的高价值场景

当页面需要维护多行、多列内容,且这些内容未来会随配置、Tag 或脚本变化时,表格模板可以显著降低维护成本。它特别适合设备清单、诊断列表、参数表和状态列表。

表格模板实例
表格模板实例

表格模板适合把列头、行样式和数据来源分开管理,避免每个单元格都靠手工维护。

再次点击图片或按 Esc 关闭