Bootstrap表格插件Bootstrap Table配置教程

Custom Sort bootstrap-table 自定义排序

Custom Sort自定义排序

自定义排序,比如我需要把库存为3的产品排前面,首先需要自定义一个排序行数。sortName为用户点击排序列的列名,sortOrder为asc或desc,data你获取到的原始数据,自定义函数如下。
注意:这只是前端排序,服务器端排序请点击>>> 服务器端排序

function customSort(sortName, sortOrder, data) {
    var order = sortOrder === 'desc' ? -1 : 1
    data.sort(function (a, b) {
        var v1 = a[sortName] 
        var v2 = b[sortName] 
        if (v1 ==3) {
            return -1;
        }
        if (v1 > v2) {
            return 1
        }
        return 0
    })
}

完整代码如下

在线试一试

 //设置需要显示的列
        var columns = [{
            field: 'Id',
            title: '编号'
        }, {
            field: 'ProductName',
            title: '产品名称'
        }, {
            field: 'StockNum',
            title: '库存',
            sortable: true


        }];


        //bootstrap table初始化数据
        $('#table').bootstrapTable({
            columns: columns,
            data: getData(),                      //请求后台的URL(*)
            method: 'GET',                      //请求方式(*)
            classes: "table table-bordered table-striped table-sm",
            height: 400, 
            customSort: customSort 
        });


      
function customSort(sortName, sortOrder, data) {
    var order = sortOrder === 'desc' ? -1 : 1
    data.sort(function (a, b) {
        var v1 = a[sortName] 
        var v2 = b[sortName] 
        if (v1 ==3) {
            return -1;
        }
        if (v1 > v2) {
            return 1
        }
        return 0
    })
}


        function getData() {
            var data = [];


            for (var i = 0; i < 2; i++) {
                var item = {
                    Id: i,
                    ProductName: '香蕉' + i,
                    StockNum: i
                };


                data.push(item);
            };
            for (var i = 0; i < 5; i++) {
                var item = {
                    Id: i,
                    ProductName: '苹果' + i,
                    StockNum: i
                };


                data.push(item);
            };
            for (var i = 0; i < 5; i++) {
                var item = {
                    Id: i,
                    ProductName: '橘子' + i,
                    StockNum: i
                };


                data.push(item);
            };
            return data;
        }


Catalog
快速入门 bootstrap table方法 bootstrap table事件 bootstrap table下载 基础配置 row Attributes设置行属性 custom Sort自定义排序 table Cache缓存数据 content Type设置 response Handler total/Data Field JSON格式 escape显示html标签 idField和selectItemName cardView卡片视图模式 detailView详情视图模式 icons图标相关设置 本地化中文设置 列相关设置 columns基础设置 sortable列排序 column选择操作列 column列属性列表 分页设置 bootstrap table服务端分页 table Method 方式设置 data Type数据格式 custom AJAX 自定义ajax bootstrap table前端分页 bootstrap table查询搜索 smartDisplay作用 分页时保持选择状态 工具栏相关 showHeader显示头部 showFooter显示底部 showColumns开启列刷选 showPaginationSwitch分页 showRefresh刷选按钮 showFullscreen toolbar工具栏设置 样式设置 固定表头并美化表头 设置表格样式隔行变色 rowStyle设置行样式 theadClasses设置表头样式 footerStyle底部样式