Twitter引导程序表的重新排序列不维护顺序

时间:2018-11-02 20:34:17

标签: twitter-bootstrap

我有Twitter引导表extension to reorder可以使用的列,除了当我移动该列时,它只是恢复到原来的顺序。

即使他们的example在他们的网站上也做同样的事情。我想念什么吗?

var $table = $('#table-javascript').bootstrapTable({
    method: 'POST',
    url: 'report.php,
    cache: false,
    pagination: true,
    pageSize: 20,
    pageList: [20, 35, 60, 110],
    sortable: true,
    search: true,
    minimumCountColumns: 2,
    reorderableColumns: true,
});

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,经过一番搜索后,我在Bootstrap Table存储库中发现了这个未解决的问题:https://github.com/wenzhixin/bootstrap-table/issues/3427

这个家伙 Guxingzhe 找到了一种方法,可以通过更改 bootstrap-table-reorder-columns.js 中的一些代码行来解决。

〜160 行中,您具有以下这段代码:

for (var i = 0; i < this.length; i++) {
    columnIndex = that.fieldsColumnsIndex[ths[i]];
    if (columnIndex !== -1) {
        that.columns[columnIndex].fieldIndex = i;
        columns.push(that.columns[columnIndex]);
        that.columns.splice(columnIndex, 1);
    }
}

that.columns = that.columns.concat(columns);

只需将其更改为:

for (var i = 0; i < ths.length; i++ ) {
    columnIndex = that.fieldsColumnsIndex[ths[i]];
    that.columns[columnIndex].fieldIndex = i;
    that.fieldsColumnsIndex[ths[i]] = i
    columns.push(that.columns[columnIndex]);
}

that.columns = columns;

就是这样!现在应该可以工作了:)

此解决方案的所有功劳归于https://github.com/Guxingzhe