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

jQuery LigerUI Grid toggleCol 顯示/隱藏欄位完整使用教學

     編輯:程式設計綜合問答

功能簡介

toggleCol(columnId, visible) 為 LigerUI Grid 提供的動態控制欄位可見性方法,columnId 對應 columns 陣列中定義的 id 或 name 屬性。

最小可行範例

<!DOCTYPE html>
<html>
<head>
<link href="lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet">
<script src="lib/jquery/jquery-3.6.0.min.js"></script>
<script src="lib/ligerUI/js/core/base.js"></script>
<script src="lib/ligerUI/js/plugins/ligerGrid.js"></script>
<script>
var grid;
$(function () {
    grid = $("#grid").ligerGrid({
        columns: [
            { display: '主鍵', name: 'id', id: 'colId', width: 80 },
            { display: '姓名', name: 'name', id: 'colName', width: 120 },
            { display: '城市', name: 'city', id: 'colCity', width: 100 }
        ],
        data: { Rows: [
            { id: 1, name: '張三', city: '北京' },
            { id: 2, name: '李四', city: '上海' }
        ], Total: 2 }
    });
});

function toggleCity(show) {
    grid.toggleCol('colCity', show); // 以 id 切換
}
</script>
</head>
<body>
<button onclick="toggleCity(true)">顯示城市</button>
<button onclick="toggleCity(false)">隱藏城市</button>
<table id="grid"></table>
</body>
</html>

常見坑點與對策

  • columnId 錯誤:必須與 columns[i].id 或 name 完全一致(區分大小寫)。建議顯式設定 id。
  • Grid 實例未就緒:確保在 $(function(){...}) 內初始化完成後再呼叫 toggleCol。
  • allowHideColumn:false:若初始化設定此選項為 false,toggleCol 將無效,需移除或設為 true。
  • 欄位隱藏後寬度殘留:LigerUI 會自動重算佈局,若未生效可嘗試 grid.refreshSize()。

進階:批次切換與狀態持久化

// 批次隱藏多欄
['colName', 'colCity'].forEach(id => grid.toggleCol(id, false));

// 記住使用者偏好 (localStorage)
function saveColState() {
    var states = {};
    grid.columns.forEach(c => states[c.id] = c.hidden !== true);
    localStorage.setItem('gridColState', JSON.stringify(states));
}
function restoreColState() {
    var states = JSON.parse(localStorage.getItem('gridColState') || '{}');
    Object.keys(states).forEach(id => grid.toggleCol(id, states[id]));
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved