Bootstrap Table快速完美搭建后台管理系统
作者:Galary 发布时间:2024-05-09 09:48:16
Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
现在做的一个app管理以及后台配置系统,需要针对不同的城市作相应的定制化的配置,对一些后台数据也做一些展示和操作,所以每一个模块基本都会有表格的展现形式,这样做的好处就是直观方便操作。对于用什么table插件,无疑就是bootstrap table了,功能强大文档完善,并且我们项目里也是基于bootstrap布局的,所以就选择了他,接下来就贴一些项目代码来展示(仅供参考),自己也做一下笔记。
首先是用到了bootstrap的Tab来切换不同的表格用于展示,切换菜单代码如下:
<div class="report-count">被举报次数:${count}次</div>
<ul class="report-btn nav nav-tabs" id="myTab" >
<li class="pending active"><a href="#padding" onclick="freashTable(0)" data-toggle="tab">待处理:${stateCountList[0]}次</a><i class=""></i></li>
<li class="success-report"><a href="#success-report" onclick="freashTable(1)" data-toggle="tab">举报成立:${stateCountList[1]}次</a></li>
<li class="fail-report"><a href="#fail-report" onclick="freashTable(2)" data-toggle="tab">举报不成立:${stateCountList[2]}次</a></li>
</ul>
相信对于bootstrap并不陌生,给每一个需要切换的标签 加上{data-toggle="tab"},并且增加锚点用于匹配到对应的切换的子内容{锚点:href="#padding" rel="external nofollow" },切换对应的字内容代码如下:
<div class="table-view tab-content">
<div class=" tab-pane fade in active" id="padding">
<div class="table-header clear">
<c:forEach items="${complainCount1}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
<div class="tab-pane fade" id="success-report">
<div class="table-header clear">
<c:forEach items="${complainCount2}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
<div class="tab-pane fade" id="fail-report">
<div class="table-header clear">
<c:forEach items="${complainCount3}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
</div>
通过给每一个需要切换子内容元素设置对应上述锚点的id{#padding},并且不要忘了给外层容器加(tab-content),给子元素容器加class(tab-pane fade in active),有active的就是默认选中的。每一个子内容都有一个table元素,所以这里就是我们需要的table,切换每一个tab就会刷新显示对应的table数据。这里我们采用动态的生成table的方式加载数据。
var $table=$('.table')
function initTable(index){
$table.bootstrapTable({
url: '${basePath}/interacts/complain/getComplainList?pkid='+$("#pkid").val()+'&state='+index, //请求数据地址url
height: getHeight(), //获取行高
striped: true, //设置为 true 会有隔行变色效果
search: true, //为true会有搜索框
showRefresh: true, //为true有刷新按钮
showColumns: true, //是否显示 内容列下拉框
minimumCountColumns: 2,//当列数小于此值时,将隐藏内容列下拉框
clickToSelect: true, //点击行是checkbox或者rediobox选中
detailView: true, //设置为 true 可以显示详细页面模式。table第一行会有+号,点击会出现更详细的该行信息
detailFormatter: 'detailFormatter', //格式化详细页面模式的视图。
pagination: true, //展示有分页
paginationLoop: false, //循环分页
sidePagination: 'server', //设置在哪里进行分页,可选值为 'client' 或者 'server'。设置 'server'时,必须设置 服务器数据地址(url)或者重写ajax方法
silentSort: false, //设置为 false 将在点击分页按钮时,自动记住排序项。仅在 sidePagination设置为 server时生效19 escape: true, //转义HTML字符串,替换 &, <, >, ", `, 和 ' 字符.
searchOnEnterKey: true, //设置为 true时,按回车触发搜索方法,否则自动触发搜索方法
idField: 'systemId', //指定主键
maintainSelected: true, //设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
toolbar: '#toolbar', //一个jQuery 选择器,指明自定义的toolbar
columns: [
{field: 'complain_reason', title: '举报类型',align: 'center'},
{field: 'nick_name', title: '举报人',align: 'center'},
{field: 'create_time', title: '举报时间',formatter:'timeFormat' },
{field: 'complain_state', title: '举报状态',formatter:'stateFormat'}
{field: 'action', title: '操作', align: 'center', formatter: 'actionFormatter', events: 'actionEvents', clickToSelect: false}
]
});
}
来源:http://www.cnblogs.com/galary/p/7559750.html


猜你喜欢
- Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下import randomall_choioces = ['石头
- 续上一篇文章:vue2.0 开发实践总结之入门篇 ,如果没有看过的可以移步看一下。 本篇文章目录如下:1. vue 组
- 使用场景当需要进行vuex进行数据状态管理的时候,会使用到mapGetters,mapState,还有自身的计算属性的时候,这个时候就会用到
- SVM支持向量机是建立于统计学习理论上的一种分类算法,适合与处理具备高维特征的数据集。SVM算法的数学原理相对比较复杂,好在由于SVM算法的
- 前言相信大家都知道当声明一个变量,并且没有给赋值的情况下,它的初始值是undefined。但是在javascript中,怎么检查一个值是否为
- 最近项目中需要与管易云erp做对接,看了他的接口文档,php的示例代码,于是用python仿写。其中传的参数data中前面几个json数据是
- 偶尔会在python中看见这样一行代码:data = [x**2 for x in range(0, 5)]# 此时data = [0, 1
- 什么是上采样上采样,在深度学习框架中,可以简单的理解为任何可以让你的图像变成更高分辨率的技术。 最简单的方式是重采样和插值:将输入图片inp
- 哪个Python版本?当我提及Python,所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3
- 抽象特点Python 一切皆对象,基于此概念,对 类 class 有以下特点:类与实例的属性类对象创建可选择定义类属性,创建实例对象时,实例
- 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的
- 因项目需要根据指定格式的文件生成XML标注文件,可以方便使用LabelImg打开进行编辑和查看。其原始文件默认使用逗号进行分隔,如下
- 目录话不多说,直接贴所有代码运行效果需要用到的两张图片总结话不多说,直接贴所有代码import randomimport sysimport
- split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。split()方法定义于
- 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容
- python断言assert语句assert语句的格式是【assert 表达式,返回数据】,当表达式为False时则触发AssertionE
- 题目:转换RBG颜色值我们知道在网页中的颜色值设置都是用16进制的RGB来表示的,比如#FFFFFF,表示R:255,G:255,B:255
- 前言看到这里已经学习了创建各种 Python 数据类型的值。并且显示的值都是文字或常量值。>>> print(9.98)9
- MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。M
- 容器与可迭代对象在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象容器:用来存储多个元素的数据结构,例如 列表,元组