您的位置:首页 > Web前端 > BootStrap

十五、bootstrap-table editable

2017-09-20 00:00 465 查看
使用表格的时候,避免不了增删改查,下面就把自己使用bootstrap-table editable的过程记录一下

第一步,下载

bootstrap-editable.css v1.5.1

bootstrap-editable.min.js v1.5.1

bootstrap-table-editable.js

当然jquery和bootstrap的js和css都是必须的

第二步,html中添加引用

<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/css/bootstrap-table.css">
<link rel="stylesheet" href="/static/css/bootstrap-editable.css">
<link rel="stylesheet" href="/static/css/jquery-ui.css">
<link rel="stylesheet" href="/static/css/select2.min.css">
<link rel="stylesheet" href="/static/css/style.css">
<!-- http://stackoverflow.com/questions/28566672/is-not-defined-in-firefox -->
<script type="text/javascript" src="/static/js/jquery-2.1.0.js"></script>
<script type="text/javascript" src="/static/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/static/js/bootstrap-table.js"></script>
<script type="text/javascript" src="/static/js/jquery-ui.js"></script>
<script type="text/javascript" src="/static/js/select2.full.js"></script>
<script type="text/javascript" src="/static/js/json2.js"></script>
<script type="text/javascript" src="/static/js/bootstrap-editable.min.js"></script>
<script type="text/javascript" src="/static/js/bootstrap-table-editable.js"></script>
<script type="text/javascript" src="/static/js/bootstrap-table-export.js"></script>
<script type="text/javascript" src="/static/js/tableExport.js"></script>
</head>
<body>
<table id="show_product" class="table table-no-bordered">
</table>
</body>

第三步,编写js

$('#show_product').bootstrapTable({
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: false, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
sidePagination: "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
clickToSelect: false,
showExport: true, //是否显示导出
exportDataType: "selected", //basic', 'all', 'selected'.
columns: [{ checkbox: true }, {
field: "id",
title: 'Id',
visible: false
}, {
field: "name",
title: '名称'
}, {
field: "shortName",
title: '简称'
}, {
field: "barCode",
title: '一维码',
editable: {
type: 'text',
mode: 'inline'//直接在所在行编辑,不弹出
},
sortable: true
}, {
field: "remark",
title: '备注'
}, ],
onEditableSave: function(field, row, oldValue, $el) {
var newValue = row[field];//不能使用row.field
if (!checkStrEqual(oldValue, newValue)) {
$.ajax({
type: "post",
url: "/edit",
data: {
'type': 'product',
'id': row.id,//获得所在行指定列的值
'newValue': newValue,
'field': field,
'oldValue':oldValue
},
success: function(data, status) {
if (status == "success") {
alert("编辑成功");
}
},
error: function() {
alert("Error");
},
complete: function() {

}
});
}
}
});

第四步,python后端

class UpdateHandler(BasicWithOperateDBHandler):
'''
编辑信息
'''
def post(self):
typee = self.get_argument("type")
tableId = self.get_argument("id")
field = self.get_argument("field")
oldValue = self.get_argument("oldValue")
newValue = self.get_argument("newValue")
try:
if typee == 'product':
self.odb.executeSql(allSQL.updateProduct % (field, newValue, tableId))

self.write({'status':'success'})
except:
traceback.print_exc()
self.write({'status':'failed'})

引用的文章:

bootstrap-table editable例子:https://github.com/wenzhixin/bootstrap-table/blob/master/src/extensions/editable/README.md#events

http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

http://www.cnblogs.com/landeanfen/p/5005367.html

https://windcoder.com/ziyongchajianzhenglizhibiaogebootstrap-table
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息