{hero}

columnDefs.targets

自:DataTables 1.10

將欄定義指派給一個或多個欄位。

描述

columnDefs 選項允許定義欄定義物件,然後將其指派給 DataTable 中的一個或多個欄位,無論欄定義陣列的順序或表格中欄位的順序為何。

這個 columnDefs.targets 選項提供 DataTables 所需的資訊,以確定應將欄定義物件套用至表格中的哪些欄位。

它可以是

  • 0 或正整數 - 從左側開始計數的欄索引
  • 負整數 - 從右側開始計數的欄索引
  • CSS 選擇器 - 將使用符合選擇器的欄位 (自 2.0 起)
  • 字串 _all - 所有欄位 (即指派預設值)
  • :name 結尾的字串 - 這將匹配使用 columns.name 定義名稱的欄位 (自 2.0 起)。
  • 僅包含字母、數字、底線和破折號的字串 (以 regex 表示為 /^[a-z][\w-]*$/i) - 類別名稱匹配。請注意,此選項是為了與 DataTables 1.x 版本向後相容而提供的。這意味著您不能僅使用元素名稱作為選擇器,但無論如何,這將僅限於標頭中的 thtd

此外,targets 可以是上面清單中的單個選項,或是選項陣列 (如果需要,不同的類型可以在陣列中混合)。例如,targets: [ -1, -2 ] 將針對表格中的最後和倒數第二欄。

請注意,與可以套用至 columnscolumnDefs 的所有其他欄位配置選項不同,columnDefs.targets 選項只能在 columnDefs 中使用。

類型

此選項可以使用以下類型

範例

停用第一欄的篩選功能

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

停用第一欄和第三欄的排序功能

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

停用具有 'nosort' 類別的欄位排序功能

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

使用名稱來匹配欄位

new DataTable('#myTable', {
	columns: [
		null,
		null,
		null,
		{ name: 'action' }
	],
	columnDefs: [
		{
			targets: 'action:name',
			defaultContent: '<button>Run</button>'
		}
	]
});

相關

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