{hero}

columns.searchPanes.combiner

自:SearchPanes 1.0.0 起

設定在窗格上實作的邏輯類型。
請注意 - 這個屬性需要 DataTables 的 SearchPanes 擴充功能。

描述

標準情況下,當進行多個選擇時,SearchPanes 會使用 OR 邏輯。然而,有時可能需要改為實作 AND 邏輯,例如從資料集中排除資料列。

注意:當同時使用 columns.searchPanes.combinersearchPanes.cascadePanes 時,您必須確保您的資料適合您所做的選擇。searchPanes.cascadePanes 的開發是以預設的 or 邏輯為考量,使用 and 邏輯在大多數情況下可以正常運作,但在極少數情況下取消選擇時可能會產生一些意想不到的結果。

注意:當使用 columns.searchPanes.combiner 搭配陣列資料時,如果所有選擇都存在於陣列中,則會傳回該列,儘管可能也存在其他資料。

類型

字串

描述

透過將 columns.searchPanes.combiner 選項設定為 and 進行搜尋時,窗格將應用 AND 邏輯,而不是預設的 OR 邏輯。

預設值

  • 值:or

columns.searchPanes.combiner 參數的預設值為 or,表示標準情況下,窗格將使用 OR 邏輯進行搜尋。

範例

將 Combiner 選項設定為 and 邏輯

new DataTable('#myTable', {
	layout: {
		top1: 'searchPanes'
	},
	columnDefs: [
		{
			searchPanes: {
				combiner: 'and'
			},
			targets: [4]
		}
	]
});

使用 combiner 選項排除資料列

var dt = new DataTable('#myTable', {
	layout: {
		top1: 'searchPanes'
	},
	columnDefs: [
		{
			searchPanes: {
				options: [
					{
						label: 'Not Edinburgh',
						value: function (rowData, rowIdx) {
							return rowData[3] !== 'Edinburgh';
						}
					},
					{
						label: 'Not London',
						value: function (rowData, rowIdx) {
							return rowData[3] !== 'London';
						}
					}
				],
				combiner: 'and'
			},
			targets: [3]
		}
	],
	select: {
		style: 'os',
		selector: 'td:first-child'
	},
	order: [[1, 'asc']]
});