第九章 BootstrapTable的使用

简介: 一、简介 BootstrapTable是一个Bootstrap 3 的表格插件,支持单选, 复选框, 排序, 分页等功能 官网:http://bootstrap-table.wenzhixin.net.
+关注继续查看

一、简介

BootstrapTable是一个Bootstrap 3 的表格插件,支持单选, 复选框, 排序, 分页等功能

官网:http://bootstrap-table.wenzhixin.net.cn/

github:https://github.com/wenzhixin/bootstrap-table

二、常用属性

 1.开启查询

search: true,
searchAlign: "left",
searchOnEnterKey: true, //回车查询

2.显示刷新按钮

showRefresh: true,

3.单选/多选

singleSelect: true,
maintainSelected: false,

4.开启分页

pagination: true,

sidePagination:'client' //或 'server' ,服务端必须使用url或ajax获取数据

客户端分页的数据格式:

[
    {
        "id": 0,
        "name": "Item 0",
        "price": "$0"
    },
]

服务端分页的数据格式:

{
    "total": 200,
    "rows": [
        {
            "id": 0,
            "name": "Item 0",
            "price": "$0"
        }, 
    ]
}

 

5.数据源

responseHandler: handler,

function handler(res) {
  return res; //如果使用server分页,这里使用res.row
}

6.单元格的格式化

  如行的删除按钮

$table.bootstrapTable({ 
                columns: [ 
                    {
                        title: '操作',
                        align: 'center',
                        field: 'Status',
                        valign: 'middle',
                        formatter: formatOperat
                    } 
                ]
            })
            
            
function formatOperat(value, row, index) {
    return ['<button type="button" onclick="deleteItem(\'' + row.Id + '\')" >移除</button>'];
}

 

 

三、bug记录

1.三个联动table的使用jQuery Event的click-row.bs.table事件

如: 点击table1的行3次,在点击table2的行,这时候会导致连接table3的url进行了3次

$table1.on("click-row.bs.table", function (row, event) {
    showTable2(event.Id);//显示第二个联动table
});
$table2.on("click-row.bs.table", function (row, event) {
    showTable3(event.Id);//显示第三个联动table
}); 

解决:使用他自带的Option Event的onClickRow事件

 

  
   
$table.bootstrapTable({
                url: url,
                dataType: "json",
                search: true,
                searchAlign: "left",
                buttonsAlign: "left",
                showRefresh: true,
                searchOnEnterKey: true,
                clickToSelect: true,
                singleSelect: true,
                maintainSelected: false,
                responseHandler: handler,
                idField: "Id",
                onClickRow: function (row, $element, field) { 
                    showTable2(row.Id); 
                    ....//省略
                },
                columns: [
                      {
                          field: 'state',
                          radio: 'true'
                      }, 
                      ...//省略
                    {
                        title: '操作',
                        align: 'center',
                        field: 'Status',
                        valign: 'middle',
                        formatter: formatOperat
                    }

                ]
            })

 2.使用radio,并启用clickToSelect: true, ,出现BUG:点击radio无反应

场景:实现点击行刷新另外一张表,但点击最后一个单元格不执行该操作,因为最后单元格自定义了自己的一系列操作

解决方法

  解析:启用clickToSelect后,单击行会自动选中chebox或者radio,触发onCheck事件;

    onCheck中如果直接写执行代码,但这些代码是和onClickCell是一样的,那么导致重复执行;

    最后通过引入外部curField来控制解决。

  代码:

            var curField = 0;
            $table.bootstrapTable({
                url: "/Get?Id=1",
                dataType: "json",
                search: true,
                searchAlign: "left",
                buttonsAlign: "left",
                showRefresh: true,
                searchOnEnterKey: true,
                clickToSelect: true,
                singleSelect: true,
                selectItemName: "custonSelectItem",
                striped: true,
                maintainSelected: false,
                responseHandler: handler,
                idField: "Id",
                onClickCell: function (field, value, row, $element) {
                    curField = 1;
                    if (field !== "Status") {
                        //执行代码
                    }
                },
                onCheck: function (row, $element) {
                    if (curField === 0) {
                        //执行代码
                    } else {
                        curField = 0;
                    }
                },
                columns: [
                    {
                        field: 'state',
                        radio: 'true'
                    },
                    {
                        title: '名称',
                        field: 'Name',
                        align: 'center',
                        valign: 'middle'

                    },
                    {
                        title: '操作',
                        align: 'center',
                        field: 'Status',
                        valign: 'middle',
                        formatter: formatOperat
                    }
                ]
            });

 

相关文章
|
9天前
|
安全 Java API
Java上进了,JDK21 要来了,并发编程再也不是噩梦了
之前写过 新项目为什么决定用 JDK 17了,还没过多久,JDK 21 马上就出来了,看来 Java 这几年真的是长进了。 目前 Java 的最新稳定版是 JDK 20,但这是个过渡版,JDK21就是 LTS 版的了,也快要发布了,在今年9月份(也就是2023年9月)就要正式发布了。 但是,猜都不用猜,你肯定还在用 Java 8 吧!
Java上进了,JDK21 要来了,并发编程再也不是噩梦了
|
9天前
|
搜索推荐 安全 数据挖掘
产品运营方法论:从目标拆解到策略重构
本文从产品运营的定义到作者对产品运营的理解以及一些工作中用到的方法论做了总结。
210064 27
|
9天前
|
运维 Kubernetes 监控
基于Kubernetes的Serverless PaaS稳定性建设万字总结
本文将侧重于实际落地而非方法论,阐述云产品 SAE 业务侧稳定性实际建设过程中的经验和思考。
|
10天前
|
SQL 关系型数据库 MySQL
第 2 回|妙手神医瑶池诊疗实录:数据库存储空间去哪儿了?
近日,寒霜城数据库突发奇症,明明才检查好的存储空间,在2个小时内逼近磁盘峰值,即将被锁。这一急症背后的根因是什么?妙手神医瑶池又将如何应对呢?
|
10天前
|
Rust 安全 前端开发
为什么 Rust 备受开发者青睐?
在本篇文章中,作者介绍了 Rust 是什么,它的历史以及 Rust 是如何备受开发者和行业的青睐。希望本篇文章能帮助读者对 Rust 这门语言有一个大概的了解。
137068 42
|
10天前
|
算法 架构师 安全
需求分析和常见的需求问题解决
需求分析和常见的需求问题解决
110274 14
|
11天前
|
Kubernetes Java 调度
Java 应用程序在 Kubernetes 上棘手的内存管理(上)
Java 应用程序在 Kubernetes 上棘手的内存管理
27194 2
|
11天前
|
Java 测试技术 BI
研发管理者如何7步规范管理企业代码资产?
本教程向您展示如何在云效上设置代码仓库模板,如何设置研发协作规范,如何启动代码检测,以及如何设置保护分支与合并卡点、如何实现研发工作与需求的自动化消息通知、如何度量代码数据?
40550 4
|
11天前
|
人工智能 开发者
万物皆可AIGC,免费算力等你来
人人都可以玩转AIGC! 本次活动广泛征集运用阿里云产品进行AIGC创作的作品,无论你是小白还是资深开发者,都可以来活动页领取免费算力,根据教程或任意组合阿里云免费资源进行AIGC创作,云端释放无限创意!
42049 29
|
13天前
|
存储 分布式计算 MaxCompute
基于OpenSearch向量检索版和MaxCompute快速搭建图搜服务
本文将介绍企业在没有向量数据的情况下,如何通过OpenSearch向量检索版、MaxCompute以及OSS,快速搭建图像搜索服务。
39842 0
基于OpenSearch向量检索版和MaxCompute快速搭建图搜服务
推荐文章
更多