如何在Mulitple Sort中使用自定义排序方法

时间:2018-10-26 10:15:43

标签: javascript jquery bootstrap-table

我正在使用带有Bootstrap-table扩展名的Multiple Sort。我有一列具有指数的值,例如2 x 10-8、1 x 10-7、4 x 10-6,并编写了自定义排序方法来对这些值进行排序。通过将sorter: "pValueSorter"设置为以下方式,该方法可以在使用“单一”排序时对列进行排序:

$('#table').bootstrapTable({
        exportDataType: 'all',
        filterControl: true,
        columns: [{
            field: 'pValue',
            title: 'P-value',
            sortable: true,
            sorter: "pValueSorter",
            filterControl: 'input'
        }
        ...

,然后使用以下方法:

function pValueSorter(a, b) {
    sort method here
    ...
}

使用MultiplSort扩展时,如果此列包含在排序中,是否可以使用此自定义方法?

2 个答案:

答案 0 :(得分:0)

不能通过

获取列
            while(shot == true)// here is your loop budy
            {
// shot = false; // try this row here you will problably stop having the trouble
                Instantiate(Bullet, firePoint.position, firePoint.rotation);
                if (timeBetweenShot <= 0f)//
                {
                    shot = false;
                    timeToShoot = timeToShootCounter;
                    timeBetweenShot = timeBetweenShotCounter;
                }
            }

如果从0开始?

答案 1 :(得分:0)

This article(2016年开始)介绍了如何在排序函数中对多个列进行排序。

基本上,如果第一张支票返回0(这是错误的),它将处理下一张支票,依此类推:

var data = [];
(function () {
    var names = ["Logan", "Bub", "Scott", "That-guy"];
    while (data.length < Math.pow(names.length, 2)) {
        data.push({
            age: Math.ceil(Math.random() * names.length),
            name: names[Math.floor(Math.random() * names.length)]
        });
    }
})();
function multiSortData(a, b) {
    return b.name.localeCompare(a.name) || a.age - b.age;
}
function displayData(data) {
    var table = document.createElement("table");
    table.innerHTML = "<tr><td>Name</td><td>Age</td></tr>";
    table.border = "true";
    data.forEach(function (data) {
        var tr = table.appendChild(document.createElement("tr"));
        tr.appendChild(document.createElement("td")).textContent = data.name;
        tr.appendChild(document.createElement("td")).textContent = data.age;
    });
    table.style.cssText = "background-color: #eee;margin: 1em;border: 1 solid;";
    document.body.appendChild(table);
}
//TEST
displayData(data);
displayData(data.sort(multiSortData));