bootstrap-table插件使用总结

这篇博客总结了在使用bootstrap-table插件时遇到的问题及解决方案,包括表格字段排序失效的解决办法、数据格式要求、各种设置项的含义,以及如何载入数据和设置语言。在遇到字段排序失效时,只需去掉data-side-pagination选项。同时,文章详细列举了初始化表格时的各种参数配置,如url、method、pagination等,并介绍了载入数据的格式和语言设置的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


学习过程中,遇到的情况汇总,不定期更新


table字段自动排序失效

有时在table标签中设置了 data-sortable="true"或者在js中设置了sortable: true,表格列的排序功能还是用不了。有些网友说要编写后台代码,重新排序后在回传,感觉应该这个插件没这么low。找了半天,找到了原因,只需要把分页选项注释掉,即data-side-pagination这个选项不添加即可。

 

数据格式问题

需要将数据库返回数据转换成json特定格式,才能被bootstrap table插件读取。一般有两种,推荐使用一种标准一点的json对象格式,必须要有total和rows两个key,
{"total": 2,"rows": [{"id": 0,"name": "Item 0","price": "$0"},{"id": 1,"name": "Item 1","price": "$1"}]},
且键的名字必须与table设置columns的field值一样,才能读取到数据。

初始化时可以这么写

total = all_data.count()
rows = []
result = {"total":total,"rows":rows}

然后设定rows字典数组具体内容然后返回即可

 

各设置项含义

            url: '/Home/GetDepartment',         //请求后台的URL(*),url也可以直接指定数据源,必须为json格式
            method: 'get',                      //请求方式(*)
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber:1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表

载入数据

table的数据可以通过url指定,也可以在js代码中载入,载入的数据需符合数据格式

$("#table").bootstrapTable('load',result_data);

语言设置

table默认是英文的,如需中文需要设置locale属性为zh-CN同时要导入相应的js文件,有分语言的js,但最好在html页面的script里导入一个全的语言文件包。bootstrap-table-locale-all.min.js。这样可以随时切换。该文件可以在官网上下,试了一下github上的单独中文包,发现该文件打包错误,里面是html代码,也算官方的一个小bug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值