columns.searchPanes.combiner
自:SearchPanes 1.0.0 起
設定在窗格上實作的邏輯類型。
請注意 - 這個屬性需要 DataTables 的 SearchPanes 擴充功能。
描述
標準情況下,當進行多個選擇時,SearchPanes 會使用 OR 邏輯。然而,有時可能需要改為實作 AND 邏輯,例如從資料集中排除資料列。
注意:當同時使用 columns.searchPanes.combiner
和 searchPanes.cascadePanes
時,您必須確保您的資料適合您所做的選擇。searchPanes.cascadePanes
的開發是以預設的 or
邏輯為考量,使用 and
邏輯在大多數情況下可以正常運作,但在極少數情況下取消選擇時可能會產生一些意想不到的結果。
注意:當使用 columns.searchPanes.combiner
搭配陣列資料時,如果所有選擇都存在於陣列中,則會傳回該列,儘管可能也存在其他資料。
類型
預設值
- 值:
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']]
});