最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jquery dataTables.treeGrid的樹形插件使用

 更新時間:2026年06月17日 09:36:01   作者:學(xué)以智用  
本文主要介紹了Jquery dataTables.treeGrid的樹形插件使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

下面給你一份完整、可直接照著做的 dataTables.treeGrid 教程,包含:官方倉庫/CDN、最簡示例、常用配置、AJAX 異步加載、常見坑與解決。

一、插件是什么 & 官方地址

dataTables.treeGrid.js(作者:homfen)是 DataTables 的樹形擴(kuò)展,用來做可折疊/展開的層級表格(部門、菜單、分類等)。

<script src="https://cdn.jsdelivr.net/npm/datatables-treegrid@1.0.4/dataTables.treeGrid.min.js"></script>

二、依賴與引入順序

必須按這個順序:

<!-- 1. jQuery -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script>

<!-- 2. DataTables CSS + JS -->
<link rel="stylesheet"  rel="external nofollow" >
<script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>

<!-- 3. treeGrid 插件 -->
<script src="https://cdn.jsdelivr.net/npm/datatables-treegrid@1.0.4/dataTables.treeGrid.min.js"></script>

三、最簡完整示例(復(fù)制就能跑)

HTML

<table id="myTable" class="display" style="width:100%">
  <thead>
    <tr>
      <th></th> <!-- 展開/折疊圖標(biāo)列 -->
      <th>名稱</th>
      <th>備注</th>
    </tr>
  </thead>
</table>

JS

$(function () {
  // 模擬層級數(shù)據(jù)(必須有 children)
  var data = [
    {
      name: "總部",
      remark: "根節(jié)點(diǎn)",
      children: [
        {
          name: "技術(shù)部",
          remark: "研發(fā)",
          children: [
            { name: "前端組", remark: "Web" },
            { name: "后端組", remark: "Server" }
          ]
        },
        { name: "人事部", remark: "招聘" }
      ]
    }
  ];

  // 初始化 DataTables + treeGrid
  $('#myTable').DataTable({
    data: data,
    columns: [
      { defaultContent: "", width: "30px" }, // 圖標(biāo)列
      { data: "name", title: "名稱" },
      { data: "remark", title: "備注" }
    ],
    // 樹形配置
    treeGrid: {
      left: 20,         // 子節(jié)點(diǎn)縮進(jìn)像素
      expandAll: false, // 默認(rèn)是否全部展開
      expandIcon: '<span style="color:blue;cursor:pointer;">+</span>',
      collapseIcon: '<span style="color:red;cursor:pointer;">-</span>'
    }
  });
});

四、核心配置項(xiàng)(treeGrid)

treeGrid: {
  left: 15,                // 子節(jié)點(diǎn)縮進(jìn)(px)
  expandAll: true,         // 默認(rèn)全部展開
  expandIcon: '<span>+</span>',   // 展開圖標(biāo)
  collapseIcon: '<span>-</span>', // 折疊圖標(biāo)
  column: 0                 // 圖標(biāo)放在第幾列(默認(rèn) 0)
}

五、AJAX 異步加載(服務(wù)器返回 JSON)

服務(wù)器返回數(shù)據(jù)格式(必須帶 children)

[
  {
    "name": "總部",
    "remark": "根節(jié)點(diǎn)",
    "children": [
      { "name": "技術(shù)部", "remark": "研發(fā)" }
    ]
  }
]

JS 初始化

$('#myTable').DataTable({
  ajax: {
    url: "/api/getTreeData",
    type: "GET"
  },
  columns: [
    { defaultContent: "", width: "30px" },
    { data: "name", title: "名稱" },
    { data: "remark", title: "備注" }
  ],
  treeGrid: { left: 20, expandAll: false }
});

六、常用 API(控制展開/折疊)

var table = $('#myTable').DataTable();
var tree = new $.fn.dataTable.TreeGrid(table);

tree.expandAll();   // 全部展開
tree.collapseAll(); // 全部折疊

七、常見坑 & 解決

  1. 圖標(biāo)不顯示/點(diǎn)擊沒反應(yīng)

    • 檢查引入順序:jQuery → DataTables → treeGrid
    • 確保第一列是 defaultContent: ""
  2. 子節(jié)點(diǎn)不縮進(jìn)

    • 檢查 treeGrid.left 是否設(shè)置(如 20)
  3. 數(shù)據(jù)加載后樹形失效

    • AJAX 返回必須是帶 children 的層級結(jié)構(gòu),不能扁平化
  4. 分頁與樹形沖突

    • 建議關(guān)閉分頁(paging: false),樹形表格一般不分頁

到此這篇關(guān)于Jquery dataTables.treeGrid的樹形插件使用的文章就介紹到這了,更多相關(guān)Jquery dataTables.treeGrid內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

登封市| 财经| 县级市| 石景山区| 天等县| 元江| 玉溪市| 凤凰县| 顺平县| 永城市| 孝昌县| 青阳县| 东安县| 潜山县| 商都县| 望谟县| 浏阳市| 黎城县| 台江县| 彭泽县| 佛坪县| 棋牌| 浦北县| 大兴区| 安义县| 都匀市| 叶城县| 湘西| 朔州市| 长沙县| 亳州市| 铜陵市| 景泰县| 洛浦县| 文安县| 荃湾区| 晋宁县| 同江市| 永仁县| 罗田县| 安西县|