{hero}

columns.type

自:DataTables 1.10 起

設定欄位類型 - 用於篩選和排序字串處理。

描述

在用戶端處理模式下運作時,DataTables 可以處理每個儲存格中顯示的資料,以適合所執行的動作。例如,HTML 標籤將從用於篩選比對的字串中移除,而排序格式化可能會移除貨幣符號,以允許貨幣值以數字方式排序。為標準化資料所執行的格式化動作,使其可以排序和搜尋,取決於欄位的類型

DataTables 有許多內建類型,這些類型會自動偵測

  • date - 日期/時間值。請注意,DataTables 的內建日期剖析器以 ISO 8601 格式運作,具有 3 個分隔符號 (/-,)。可以透過使用內建的 datetime 渲染器加上 Moment.js 或 Luxon 函式庫之一,來新增額外的日期格式支援。
    • 排序 - 按時間順序排序
    • 篩選 - 無效果
  • num - 簡單數字排序。
    • 排序 - 以數字方式排序
    • 篩選 - 無效果
  • num-fmt - 已格式化數字的數值排序。使用千位分隔符號、貨幣符號或百分比指標格式化的數字,會由 DataTables 自動以數值方式排序。
    • 支援的內建貨幣符號為 $£¥
    • 支援的內建千位分隔符號為 ',
    • 範例
    • $100,000 - 排序為 100000
    • £10'000 - 排序為 10000
    • 5'000 - 排序為 5000
    • 40% - 排序為 40
    • 排序 - 以數字方式排序
    • 篩選 - 無效果
  • html-num - 與 num 選項相同,但資料中也包含 HTML 標籤。
    • 排序 - 以數字方式排序
    • 篩選 - 從篩選字串中移除 HTML 標籤
  • html-num-fmt - 與 num-fmt 選項相同,但資料中也包含 HTML 標籤。
    • 排序 - 以數字方式排序
    • 篩選 - 從篩選字串中移除 HTML 標籤
  • html - HTML 標籤的基本字串處理
    • 排序 - 排序時移除 HTML 標籤
    • 篩選 - 從篩選字串中移除 HTML 標籤
  • string - 如果欄位中的資料不符合其他資料類型(上方)的需求,則會採用備用類型。
    • 排序 - 無效果
    • 篩選 - 無效果

預計上述選項將涵蓋 DataTables 使用的大多數資料類型,然而,資料是彈性的,並且有許多形式,因此可以透過外掛程式新增具有不同效果的其他類型。這提供了排序幾乎任何可想像的資料格式的能力!

作為最佳化,如果您事先知道欄位類型,可以使用此選項設定值,從而節省 DataTables 執行自動偵測常式的時間。

請注意,如果您正在使用伺服器端處理 (serverSide),則此選項無效,因為排序和搜尋動作由伺服器端指令碼執行。

類型

此選項可以給定下列類型

預設值

從原始資料自動偵測。

範例

使用 columnDefs 手動設定第一欄的類型

new DataTable('#myTable', {
	columnDefs: [{ type: 'html', targets: 0 }]
});

使用 columns 手動設定第一欄的類型

new DataTable('#myTable', {
	columns: [{ type: 'html' }, null, null, null, null]
});

相關

以下選項直接相關,也可能在您的應用程式開發中很有用。