{hero}

columns.searchPanes.combiner

自:SearchPanes 1.0.0 起

设置要实现的面板逻辑类型。
请注意 - 此属性需要 DataTables 的SearchPanes 扩展。

说明

标准情况下,SearchPanes 在进行了多个选择时将使用 OR 逻辑。但是有时可能需要实现 AND 逻辑,例如要从数据集删除行。

注意:与columns.searchPanes.combiner一起使用searchPanes.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]
		}
	]
});

使用组合选项删除行

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']]
});