用空白单元格进行编程排序



我通过setSort函数对使用多列的表进行排序,该函数在下拉框更改时调用。在下面的代码中,ward列包含一些空值。

patientTable.setSort([
{ column: 'name', dir: 'asc' },
{ column: 'ward', dir: 'asc' }
])

问题是,当升序排序时,所有的空值都出现在列表的顶部。我知道你可以使用alignEmptyValues当使用内置分选器之一将空单元压到底部时。当使用setSort函数时,是否有这样做的方法?我在文档中找不到任何东西,并且向对象添加alignEmptyValues似乎没有做任何事情。

我在Edge中使用Tabulator 4.9.3版本

您所要做的就是在列定义中设置alignEmptyValues,然后当您排序时,通过单击列标题或通过编程使用setSort,它将移动定义的空值。

var data = [
{name:"Tom",   ward:"A"},
{name:"Dick",  ward:"B"},
{name:"Harry", ward:"C"},
{name:"Larry", ward:""},
{name:"Moe",   ward:"A"},
{name:"Curly", ward:"C"}
];
var table = new Tabulator("#example-table", {
data:data,
columns:[
{title:"Name", field:"name"},
{title:"Ward", field:"ward", sorter: "string", sorterParams: { alignEmptyValues:"bottom" } },
],
});
document.getElementById('sort').addEventListener('click', ev => {
table.setSort([
{ column: 'name', dir: 'asc' },
{ column: 'ward', dir: 'asc' }
]);
});
<link href="https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator.min.css" rel="stylesheet">
<script src="https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<div id="example-table"></div>
<br>
<button id="sort">Set Sort</button>

相关内容

  • 没有找到相关文章

最新更新