{hero}

columns.orderable

自:DataTables 1.10

啟用或停用此欄位的排序功能。

描述

使用此參數,您可以移除終端使用者對欄位進行排序的能力。這對於產生的內容欄位可能很有用,例如,如果您的表格中有「編輯」或「刪除」按鈕。

請注意,此選項僅影響終端使用者排序欄位的能力。開發人員仍然可以使用初始化時的order 選項或在需要時使用 order() 方法來排序欄位。在這種情況下,從 DataTables 2 開始,標頭中欄位排序的圖示將會顯示,但終端使用者無法點擊它來觸發排序。

DataTables 2 引入了對複雜標頭(多行和具有 colspanrowspan 的儲存格)的改進支援。此選項在此類情況下仍然適用,但它沒有提供您可能希望擁有的細緻控制,以確定哪些儲存格將具有排序監聽器和排序圖示。

為了使這種細緻的控制可用,DataTables 將在表格標頭中的 th/td 儲存格上尋找 data-dt-order 屬性。此屬性的值(如果存在,則完全是可選的)控制排序監聽器和圖示。

  • data-dt-order="disable" - 排序監聽器不會附加到這些儲存格,也不會顯示排序狀態圖示。
  • data-dt-order="icon-only" - 排序監聽器不會附加到這些儲存格,但排序狀態圖示會顯示。

如果未定義,則儲存格將附加一個排序監聽器並顯示狀態圖示(除非使用上面詳細介紹的 columns.orderable 選項停用)。

data-dt-order 選項可以應用於表格標頭中的 tr 元素,以及個別儲存格。如果應用於 tr,則給定的配置將向下層疊到該行的所有儲存格。

data-dt-order 屬性是 DataTables 唯一無法透過 Javascript 設定且從 DOM 讀取的選項(如果需要,您可以在表格初始化之前使用 Javascript 新增屬性)。未來,我們可能會提供透過初始化選項建構複雜標頭的能力,這也將解決這個問題。

類型

此選項可以提供以下類型

預設值

  • 值:true

範例

停用第一欄的排序,並設定表格的預設排序(否則預設仍將是依欄索引 0 排序)

new DataTable('#myTable', {
	columnDefs: [{ orderable: false, targets: 0 }],
	order: [[1, 'asc']]
});

使用 columnDefs 停用第一欄的排序

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

使用 columns 停用第一欄的排序

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

相關

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