首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

EasyUI DataGrid 嵌套 JSON 數據渲染:formatter 正確獲取行對象避免重複列

     編輯:程式設計疑難解答

問題現象

DataGrid 列配置相同 field 導致嵌套對象數據重複顯示,無法區分「學期」與「班級」字段。

根因

EasyUI 根據 field 直接取值,嵌套對象需通過 formatter(value, row, index) 手動從 row 獲取深層屬性,**field 必須唯一**,不可重複。

正確配置

$('#dg').datagrid({
  columns: [[
    { title: '學期', field: 'semester', formatter: (v, row) => row.cla_semester },
    { title: '班級', field: 'className', formatter: (v, row) => row.cla_name },
    // 其他列...
  ]]
});

關鍵要點

  1. field 任意唯一字符串(如 semester, className),不參與取值,僅作標識。
  2. formatter 參數 row 為該行完整數據對象,可任意訪問嵌套屬性 row.cla_semester、row.cs.cla_name 等。
  3. 若需編輯/排序,需額外配置 editor、sorter 並處理嵌套路徑。

調試技巧

formatter: function(v, row) {
  console.log('row:', row); // 控制台查看完整行結構
  return row.targetField;
}

掌握 formatter + row 模式,即可靈活渲染任意結構的嵌套 JSON 數據。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved