前端页面
<html>
<head>
<title></title>
</head>
<body>
<div id="toolbar" class="btn-group">
<button id="btn_add" type="button" class="btn btn-default" onclick="addBtn();">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
</button>
<button id="btn_edit" type="button" class="btn btn-default" onclick="updateBtn();">
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
</button>
<button id="btn_delete" type="button" class="btn btn-default" onclick="del_();">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
</button>
</div>
<div class="container" style="width: 100%">
<table id="tb_assets"></table>
</div>
</body>
</html>
js块
$(function(){
//1.初始化Table
var oTable = new TableInit();
oTable.Init();
//2.初始化Button的点击事件
var oButtonInit = new ButtonInit();
oButtonInit.Init();
});
var TableInit = function() {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function(){
$('#tb_assets').bootstrapTable({
//url: '../../assets/get', //请求后台的URL(*)
//method : 'get', //请求方式(*)
toolbar : '#toolbar', //工具按钮用哪个容器
showFooter: true, //表格脚部,用来计算统计总和
classes: "table-no-bordered", //表格无边框
striped : true, //是否显示行间隔色
cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination : true, //是否显示分页(*)
sortable : false, //是否启用排序
sortOrder : "asc", //排序方式
queryParams : oTableInit.queryParams,//传递参数(*)
sidePagination : "client", //分页方式:client客户端分页,server服务端分页(*)
pageNumber : 1, //初始化加载第一页,默认第一页
pageSize : 10, //每页的记录行数(*)
pageList : [ 10, 25, 50, 100 ], //可供选择的每页的行数(*)
search : false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch : true,
showColumns : false, //是否显示所有的列
showRefresh : false, //是否显示刷新按钮
minimumCountColumns : 2, //最少允许的列数
clickToSelect : true, //是否启用点击选中行
height : 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId : "ID", //每一行的唯一标识,一般为主键列
showToggle : false, //是否显示详细视图和列表视图的切换按钮
cardView : false, //是否显示详细视图
detailView : false, //是否显示父子表
columns : [ {
checkbox : true,
}, {
field : 'ID',
title : 'id',
visible : true
}, {
field : 'assetsType',
title : '类型',
align: 'center',
valign: 'middle',
footerFormatter : function(){
return 'total'
}
}, {
field : 'assetsAmt',
title : '价值',
align: 'center',
valign: 'middle'
}, {
field : 'coefficient',
title : '系数',
align: 'center',
valign: 'middle'
}, {
field : 'valueAmt',
title : '最终价值',
align: 'center',
valign: 'middle',
footerFormatter : function(data){ //返回认定该列的总和
field = this.field;
return data.reduce(function(sum, row) {
return sum + (+row[field]);
}, 0);
}
}]
/*,此处是给表格初始一个数据,是假数据,新增后不再存在
data:[{
assetsType:"活期存款",
assetsAmt:"9000",
coefficient:"90",
valueAmt:"8100",
}]*/
});
};
//得到查询的参数
oTableInit.queryParams = function(params) {
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
limit : params.limit, //页面大小
offset : params.offset, //页码
departmentname : $("#txt_search_departmentname").val(),
statu : $("#txt_search_statu").val()
};
return temp;
};
return oTableInit;
};
var ButtonInit = function() {
var oInit = new Object();
var postdata = {};
oInit.Init = function() {
//初始化页面上面的按钮事件
};
return oInit;
};
bootstrap table 自带的方法
页面新增:
var num = 1; //计数器
function primaryAssets(){
var data = { //要插入的数据,这里要和table列名一致
ID : num,
recUid : 1,
assetsType : $('#assetsType').val(), //获取模态框input的值
assetsAmt : $('#assetsAmt').val(),
coefficient : $('#coefficient').val(),
valueAmt : $('#valueAmt').val()
}
$('#tb_assets').bootstrapTable('insertRow',{
index : num,
row : data
});
num++;
}
页面修改:
function updateAssets(){
var id = $('#tb_assets').bootstrapTable('getSelections');//获得表格所有数据,结果是数组
$('#tb_assets').bootstrapTable('updateByUniqueId',{
id : id[0].ID,
row : {
assetsType : $('#assetsType').val(),
assetsAmt : $('#assetsAmt').val(),
coefficient : $('#coefficient').val(),
valueAmt : $('#valueAmt').val()
}
});
$('#myModal').modal('hide');
}
页面数据的删除:
function del_(){
var ids = $.map($('#tb_assets').bootstrapTable('getSelections'),function(row){
return row.ID;
});
$('#tb_assets').bootstrapTable('remove',{
field : 'ID',
values : ids
});
}
增加和修改的模态框 代码太多我没有写出来,大家根据自己需要去写。
对于前端把数据存入表格后,获取表格中所有数据,然后发送ajax请求道后台获取数据,在进行批量插入
ajax:
这是我的提交到后台的方法:
function submitAll(){
var allObject = $('#tb_assets').bootstrapTable('getData'); //获取表格中的数据
var data = JSON.stringify(allObject) //把object转化为json
jQuery.ajax({
type : "POST",
contenType : "application/json; charset=utf-8",
dataType : "JSON",
url : "../../assets/insert",
data : {mydata:data}, //后台getparameter("mydata")获取Data里面的数据
success : function(data){
alert("success")
},error : function(error){
alert("err")
},
async : false
})
$("#tb_assets").bootstrapTable('refresh');
}
后台java接收数据:
String assetsdata = request.getParameter("mydata");
对于mybatis 批量插入的 后面再写

2万+

被折叠的 条评论
为什么被折叠?



