使用bootstrap-table简化CRUD
1. 引入bootstrap-table资源包, 页首引用css, 页脚引用js
2. table 参数说明
data-toggle="table"
data-toolbar="#toolbar" //指定关联的toolbar div id
data-show-refresh="true"
data-show-toggle="true"
data-show-columns="true"
data-query-params="queryParams" // 对于toolbar中的input, 需要在这里加入参数
data-sort-name="name" //与th中的 data-field匹配, 默认以哪一个排列
data-sort-field="1" // 远程请求时, 实际用的sort参数值
data-sort-order="desc" // 默认的排序
data-side-pagination="server"
data-pagination="true"
data-query-params-type="limit" //使用简化分页排序参数
data-page-list="[5, 10, 20, 50, 100, 200]"
data-url="/admin/sys/adminuser/data/list.html" // 数据请求地址
3. th参数说明
data-field="createdAt" // 显示时使用的字段
data-sort-field="0" // 远程请求时使用的sort参数值
data-sortable="true" // 是否允许排序
4. 行点击事件
window.op_events = {
'click .op_remove': function (event, value, row, index) {
alert('You click like action, row: ' + JSON.stringify(row));
$table.bootstrapTable('refresh');
}
};
完整页面代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title></title>
<!-- Bootstrap -->
<link href="/admin/res/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/admin/res/bootstrap-notify/css/bootstrap-notify.css" rel="stylesheet">
<link rel="stylesheet" href="/admin/res/bootstrap-table/bootstrap-table.min.css" type="text/css" media="screen, projection">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via utilities:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="/admin/res/jquery/1.11.3/jquery.min.js"></script>
</head>
<body> <!-- Static navbar -->
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/admin">FTChinese 财富</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">资产<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/admin/asset/debt/">债权</a></li><li><a href="/admin/asset/fund/">基金</a></li><li><a href="/admin/asset/product/">产品</a></li>
</ul>
</li> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">投资<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/admin/invest/user">用户</a></li>
</ul>
</li> <li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">系统<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/admin/sys/adminuser/">用户</a></li><li><a href="/admin/sys/config/">配置</a></li><li><a href="/admin/sys/menu/">菜单</a></li><li><a href="/admin/sys/auth/">权限</a></li><li><a href="/admin/sys/role/">角色</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/admin/logout.html">[Admin]退出</a></li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</nav>
<style>
.w70 {width: 70px !important;}
</style>
<div class="container">
<h1>管理员</h1>
<div id="toolbar">
<div class="form-inline" role="form">
<div class="form-group">
<input name="name" class="form-control" type="text" placeholder="Search">
</div>
<button id="ok" type="submit" class="btn btn-default">OK</button>
</div>
</div>
<table id="table"
data-toggle="table"
data-toolbar="#toolbar"
data-show-refresh="true"
data-show-toggle="true"
data-show-columns="true"
data-query-params="queryParams"
data-sort-name="name"
data-sort-field="1"
data-sort-order="desc"
data-side-pagination="server"
data-pagination="true"
data-query-params-type="limit"
data-page-list="[5, 10, 20, 50, 100, 200]"
data-url="/admin/sys/adminuser/data/list.html">
<thead>
<tr>
<th data-field="name" data-sort-field="1" data-sortable="true">用户名</th>
<th data-field="email">Email</th>
<th data-field="role">角色</th>
<th data-field="createdAt" data-sort-field="0" data-sortable="true">创建时间</th>
<th data-field="id" data-formatter="op_formatter" data-events="op_events">操作</th>
</tr>
</thead>
</table> <script>
var $table = $('#table'); $('#ok').click(function () {
$table.bootstrapTable('refresh');
}); function queryParams(params) {
$('#toolbar').find('input[name]').each(function () {
params[$(this).attr('name')] = $(this).val();
});
return params;
} function op_formatter(value, row) {
return [
'<a href="/admin/sys/adminuser/edit.html?id=',
row.id,
'">编辑</a> ',
'<a class="op_remove" href="javascript:void(0)" title="Remove">',
'删除',
'</a> '
].join('');
} function getHeight() {
return $(window).height() - $('h1').outerHeight(true) - 70;
} window.op_events = {
'click .op_remove': function (event, value, row, index) {
alert('You click like action, row: ' + JSON.stringify(row));
$table.bootstrapTable('refresh');
}
}; $(window).resize(function () {
$table.bootstrapTable('resetView', {
height: getHeight()
});
}); $(function () {
$table.bootstrapTable('resetView', {
height: getHeight()
});
});
</script> </div> <div class='notifications bottom-right' id='bs-notify'></div>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/admin/res/bootstrap/js/bootstrap.min.js"></script>
<script src="/admin/res/bootstrap-notify/js/bootstrap-notify.js"></script>
<script src="/admin/res/bootstrap-table/bootstrap-table.js"></script>
</body>
</html>
使用bootstrap-table简化CRUD的更多相关文章
- ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--bootstrap table之用户管理列表
这张开始bootstrap table,引入项目有两种方法,一种是直接去官网下载 地址:http://bootstrap-table.wenzhixin.net.cn/ 另一种是Nuget引入. 然后 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--Bootstrap Table用户管理列表以及Module Zero之用户管理
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 用户实体 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: public class User : ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第六节--abp控制器扩展及json封装
一,控制器AbpController 说完了Swagger ui 我们再来说一下abp对控制器的处理和json的封装. 首先我们定义一个控制器,在新增控制器的时候,控制器会自动继承自AbpContro ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十六节--SignalR与ABP框架Abp.Web.SignalR及扩展
SignalR简介 SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第六节--abp控制器扩展及json封装以及6种处理时间格式化的方法
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 一,控制器AbpController 说完了Swagger ui 我们再来说一下abp对控制器的处理和json的封 ...
- BootStrap table使用
bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...
- bootstrap Table 中给某一特定值设置table选中
bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...
随机推荐
- 单独编译Android系统模块并替换进系统
例如,我修改了frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java文件,进入frame ...
- java field, property,variable及getField和getDeclaredField的区别
java 里面的field ,property, attribute,variable的区别 field: 就是定义的用于保存数据的字段 property: property是用于描述类中的特征,所以 ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- Xcode 8.1 : Unable to read from device
今天升级了Xcode 8.1,准备在iOS10.0.2的iPhone 6 Plus上调试,提示:Unable to read from device. 查看文件路径:"~/Library/D ...
- iOS如何获取网络图片(一)
static NSString * baseUrl = @"http://192.168.1.123/images/"; - (UITableViewCell *)tableVie ...
- android 进程/线程管理(一)----消息机制的框架
一:android 进程和线程 进程是程序运行的一个实例.android通过4大主件,弱化了进程的概念,尤其是在app层面,基本不需要关系进程间的通信等问题. 但是程序的本质没有变,尤其是多任务系统, ...
- 清除ASPX页面中的meta:resourceKey="[a-zA-Z0-9]+"
在替换对话框中,选中“使用正则表达式”, 被替换内容,使用 meta:resourceKey="[a-zA-Z0-9]+" 然后替换整个文档就可以了.
- mysql技巧之select count的比较
在工作过程中,时不时会有开发咨询几种select count()的区别,我总会告诉他们使用select count(*) 就好.下文我会展示几种sql的执行计划来说明为啥是这样. 1.测试 ...
- oracle存储过程--导出数据库表的说明文档
Oracle查询表的名字和comments select a.table_name,b.comments from user_tables a,ALL_TAB_COMMENTS b where a.t ...
- cal 命令
cal命令是linux里面查看日历的一个命令,效果如下: [root@localhost ~]# cal 十月 日 一 二 三 四 五 六 我们可以的很形象的从日历上看出今天是哪年,哪年的哪天,周几, ...