- 浏览: 71410 次
- 性别:
- 来自: 北京
文章分类
最新评论
原文链接:http://click.aliyun.com/m/23848/
摘要: Bootstrap Table使用和扩展
一.使用
导包:
1.Jquery
2.bootstrap组件(js+css)
3.bootstrap table组件及中文包(js+css+js)
8a8f44c5ef9635e1b418427c6b993da7cdc95184
代码:
例一:
<table id="table"></table>
<script>
$(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 () {
$('#table').bootstrapTable({
url: '/Home/GetDepartment', //请求后台的URL(*)
method: 'get', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: oTableInit.queryParams,//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId: "ID", //每一行的唯一标识,一般为主键列
showToggle:true, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
columns: [{
checkbox: true
}, {
field: 'Name',
title: '部门名称',
align: 'center',
valign: 'middle',
width: '100px',
}, {
field: 'ParentName',
title: '上级部门',
}, {
field: 'Level',
title: '部门级别'
}, {
field: 'Desc',
title: '描述'
}, ]
});
};
//得到查询的参数
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;
};
</script>
例二:
<table id="table"></table>
<style>
#table{
table-layout: fixed;
}
</style>
<script type="text/javascript">
var $table = $("#table");
var selections = [];
window.lockEvents = {
'click .lock':function (e, value, row, index) {
$.ajax({
type:"post",
url:"/copartner/trade/supplier/lock.do",
async:true,
dataType:"json",
data:{
id: row.id,
isEnable : row.isEnable
},
success: function(data) {
if(data.msg != null) {
alert(data.msg);
}
},
error:function(jqXHR){
alert(jqXHR.status);
}
});
initTable();
}
};
function initTable() {
$table.bootstrapTable('destroy');
$table.bootstrapTable({
height: getHeight(),
toolbar: "#toolbar",
//search: true,
//searchAlign: "left",
//showRefresh: true,
//showToggle: true,
showColumns: true,
//showExport: true,
//exportDataType: "all",
//detailView: true,
//detailFormatter: detailFormatter,
//minimumCountColumns: 2,
idField: 'id',
showFooter: false,
/*与后台交互*/
method: 'post',
contentType: "application/x-www-form-urlencoded",
dataType: "json",
cache: false,
striped: true,
pagination: true,
//showPaginationSwitch: true,
pageNumber: 1,
pageSize: 20,
pageList: [10, 20, 50, 100],
url: "/copartner/tradeOrderInfo/list.do",
//dataField: "rows",
clickToSelect: true,
queryParamsType: '',
queryParams: function queryParams(params) {
var param = {
pageNumber: params.pageNumber,
pageSize: params.pageSize,
vagueInfo: $(".vagueInput").val(),
}
return param;
},
sidePagination: "server",//client
/* onLoadSuccess: function(data){ //加载成功时执行
alert("加载成功"+data);
},
onLoadError: function(){ //加载失败时执行
alert("加载失败"+data);
}, */
/*列*/
columns: [
{
checkbox: true,
align: 'center',
valign: 'middle'
}, {
title: 'id',
field: 'id',
align: 'center',
valign: 'middle',
//sortable: true
width: '100px'
}, {
title: '订单编号',
field: 'alias',
align: 'center',
valign: 'middle',
width: '100px',
formatter: openFormatter
}, {
title: '电话',
field: 'phone',
align: 'center',
valign: 'middle',
width: '100px',
formatter: function (value, row, index) {
return "<a class=\"editPhone\" href=\"\" name=\"phone\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"电话\">" + value + "</a>";
}
}, {
title: '是否售后',
field: 'isAftersales',
align: 'center',
valign: 'middle',
width: '100px',
formatter: afterSalesFormatter
}, {
title: '操作',
field: 'detail',
align: 'center',
valign: 'middle',
width: '100px',
formatter: detailFormatter
}, {
title: '是否启用',
field: 'isEnable',
align: 'center',
valign: 'middle',
width: '100px',
events: lockEvents,
formatter: lockFormatter
}
],
onClickRow: function (row, $element) {
curRow = row;
}
onLoadSuccess: function (aa, bb, cc) {
$("#table .rowEditable").editable({
url: function (params) {
var column = $(this).attr("name");
curRow[column] = params.value;
},
type: 'text'
});
$("#table .editPhone").editable({
url: function (params) {
var sPhone = $(this).attr("name");
curRow[sPhone] = params.value;
$.ajax({
type: 'POST',
url: "/copartner/trade/supplier/editPhone.do",
data: curRow,
dataType: 'JSON',
success: function (data, textStatus, jqXHR) {
initTable();
if(data.msg != null) {
alert(data.msg);
}
},
error:function(jqXHR){
alert(jqXHR.status);
}
});
},
type: 'text'
});
}
});
$table.bootstrapTable('hideColumn', 'id');
function afterSalesFormatter(value, row, index) {
var state = '';
var color = '#000';
var color_red = '#c00';
var color_blue = '#0066ff';
var color_green = '#5cb85c';
if(value == 0) {
state = '否';
color = color;
} else if(value == 1) {
state = "是";
color = color_green;
}
return [
'<span style="color: '+ color +'">' + state + '</span>'
].join('');
}
function openFormatter(value, row, index) {
return value;
}
function detailFormatter(value, row, index) {
return [
'<a class="aliasNum" href="orderDetailInfoNew.html?id=' + row.id + '" title="进入明细">',
'<span style="">详情</span>',
'</a>'
].join('');
}
function lockFormatter(value, row, index) {
var state = '--';
var color = '#000';
var color_red = '#c00';
var color_blue = '#0066ff';
if(value == 0) {
state = '已关闭';
color = color_red;
} else if(value == 1) {
state = "已启用";
color = color_blue;
}
return [
'<a class="lock" href="javascript:void(0)" title="切换状态">',
'<span style="color: '+ color +'">' + state + '</span>',
'</a>'
].join('');
}
function editReturnCountFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnCount\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉数量\">" + value + "</a>";
}
function editReturnPriceFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnPrice\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉金额\">" + value + "</a>";
}
function editReturnReasonFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnReason\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"售后原因\">" + value + "</a>";
}
// sometimes footer render error
/*setTimeout(function() {
$table.bootstrapTable('resetView');
}, 200);*/
/*$table.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table', function () {
$remove.prop('disabled', !$table.bootstrapTable('getSelections').length);
// save your data, here just save the current page
selections = getIdSelections();
// push or splice the selections if you want to save all data selections
});
$table.on('expand-row.bs.table', function (e, index, row, $detail) {
if (index % 2 == 1) {
$detail.html('Loading from ajax request...');
$.get('LICENSE', function (res) {
$detail.html(res.replace(/\n/g, '<br>'));
});
}
});
$table.on('all.bs.table', function (e, name, args) {
console.log(name, args);
});*/
$(window).resize(function(){
$table.bootstrapTable('resetView',{
height: getHeight()
});
});
}
function getIdSelections() {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row.id
});
}
function getData() {
return $.map($table.bootstrapTable('getData'), function (row) {
return row.id+"---"+row.returnCount+"---"+row.returnPrice+"---"+row.returnReason+"---"+row.saleCount;
});
}
function getHeight() {
return document.body.clientHeight*0.88;
}
/*function detailFormatter(index, row) {
var html = [];
$.each(row, function (key, value) {
html.push('<p><b>' + key + ':</b> ' + value + '</p>');
});
return html.join('');
}*/
$(document).ready(function() {
initTable();
});
</script>
二.扩展
行内编辑 Table Editable
表格导出 Table Export
原文链接:http://click.aliyun.com/m/23848/
摘要: Bootstrap Table使用和扩展
一.使用
导包:
1.Jquery
2.bootstrap组件(js+css)
3.bootstrap table组件及中文包(js+css+js)
8a8f44c5ef9635e1b418427c6b993da7cdc95184
代码:
例一:
<table id="table"></table>
<script>
$(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 () {
$('#table').bootstrapTable({
url: '/Home/GetDepartment', //请求后台的URL(*)
method: 'get', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParams: oTableInit.queryParams,//传递参数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId: "ID", //每一行的唯一标识,一般为主键列
showToggle:true, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
columns: [{
checkbox: true
}, {
field: 'Name',
title: '部门名称',
align: 'center',
valign: 'middle',
width: '100px',
}, {
field: 'ParentName',
title: '上级部门',
}, {
field: 'Level',
title: '部门级别'
}, {
field: 'Desc',
title: '描述'
}, ]
});
};
//得到查询的参数
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;
};
</script>
例二:
<table id="table"></table>
<style>
#table{
table-layout: fixed;
}
</style>
<script type="text/javascript">
var $table = $("#table");
var selections = [];
window.lockEvents = {
'click .lock':function (e, value, row, index) {
$.ajax({
type:"post",
url:"/copartner/trade/supplier/lock.do",
async:true,
dataType:"json",
data:{
id: row.id,
isEnable : row.isEnable
},
success: function(data) {
if(data.msg != null) {
alert(data.msg);
}
},
error:function(jqXHR){
alert(jqXHR.status);
}
});
initTable();
}
};
function initTable() {
$table.bootstrapTable('destroy');
$table.bootstrapTable({
height: getHeight(),
toolbar: "#toolbar",
//search: true,
//searchAlign: "left",
//showRefresh: true,
//showToggle: true,
showColumns: true,
//showExport: true,
//exportDataType: "all",
//detailView: true,
//detailFormatter: detailFormatter,
//minimumCountColumns: 2,
idField: 'id',
showFooter: false,
/*与后台交互*/
method: 'post',
contentType: "application/x-www-form-urlencoded",
dataType: "json",
cache: false,
striped: true,
pagination: true,
//showPaginationSwitch: true,
pageNumber: 1,
pageSize: 20,
pageList: [10, 20, 50, 100],
url: "/copartner/tradeOrderInfo/list.do",
//dataField: "rows",
clickToSelect: true,
queryParamsType: '',
queryParams: function queryParams(params) {
var param = {
pageNumber: params.pageNumber,
pageSize: params.pageSize,
vagueInfo: $(".vagueInput").val(),
}
return param;
},
sidePagination: "server",//client
/* onLoadSuccess: function(data){ //加载成功时执行
alert("加载成功"+data);
},
onLoadError: function(){ //加载失败时执行
alert("加载失败"+data);
}, */
/*列*/
columns: [
{
checkbox: true,
align: 'center',
valign: 'middle'
}, {
title: 'id',
field: 'id',
align: 'center',
valign: 'middle',
//sortable: true
width: '100px'
}, {
title: '订单编号',
field: 'alias',
align: 'center',
valign: 'middle',
width: '100px',
formatter: openFormatter
}, {
title: '电话',
field: 'phone',
align: 'center',
valign: 'middle',
width: '100px',
formatter: function (value, row, index) {
return "<a class=\"editPhone\" href=\"\" name=\"phone\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"电话\">" + value + "</a>";
}
}, {
title: '是否售后',
field: 'isAftersales',
align: 'center',
valign: 'middle',
width: '100px',
formatter: afterSalesFormatter
}, {
title: '操作',
field: 'detail',
align: 'center',
valign: 'middle',
width: '100px',
formatter: detailFormatter
}, {
title: '是否启用',
field: 'isEnable',
align: 'center',
valign: 'middle',
width: '100px',
events: lockEvents,
formatter: lockFormatter
}
],
onClickRow: function (row, $element) {
curRow = row;
}
onLoadSuccess: function (aa, bb, cc) {
$("#table .rowEditable").editable({
url: function (params) {
var column = $(this).attr("name");
curRow[column] = params.value;
},
type: 'text'
});
$("#table .editPhone").editable({
url: function (params) {
var sPhone = $(this).attr("name");
curRow[sPhone] = params.value;
$.ajax({
type: 'POST',
url: "/copartner/trade/supplier/editPhone.do",
data: curRow,
dataType: 'JSON',
success: function (data, textStatus, jqXHR) {
initTable();
if(data.msg != null) {
alert(data.msg);
}
},
error:function(jqXHR){
alert(jqXHR.status);
}
});
},
type: 'text'
});
}
});
$table.bootstrapTable('hideColumn', 'id');
function afterSalesFormatter(value, row, index) {
var state = '';
var color = '#000';
var color_red = '#c00';
var color_blue = '#0066ff';
var color_green = '#5cb85c';
if(value == 0) {
state = '否';
color = color;
} else if(value == 1) {
state = "是";
color = color_green;
}
return [
'<span style="color: '+ color +'">' + state + '</span>'
].join('');
}
function openFormatter(value, row, index) {
return value;
}
function detailFormatter(value, row, index) {
return [
'<a class="aliasNum" href="orderDetailInfoNew.html?id=' + row.id + '" title="进入明细">',
'<span style="">详情</span>',
'</a>'
].join('');
}
function lockFormatter(value, row, index) {
var state = '--';
var color = '#000';
var color_red = '#c00';
var color_blue = '#0066ff';
if(value == 0) {
state = '已关闭';
color = color_red;
} else if(value == 1) {
state = "已启用";
color = color_blue;
}
return [
'<a class="lock" href="javascript:void(0)" title="切换状态">',
'<span style="color: '+ color +'">' + state + '</span>',
'</a>'
].join('');
}
function editReturnCountFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnCount\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉数量\">" + value + "</a>";
}
function editReturnPriceFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnPrice\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"投诉金额\">" + value + "</a>";
}
function editReturnReasonFormatter(value, row, index) {
return "<a class=\"rowEditable\" href=\"\" name=\"returnReason\" data-type=\"text\" data-pk=\""+row.Id+"\" data-title=\"售后原因\">" + value + "</a>";
}
// sometimes footer render error
/*setTimeout(function() {
$table.bootstrapTable('resetView');
}, 200);*/
/*$table.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table', function () {
$remove.prop('disabled', !$table.bootstrapTable('getSelections').length);
// save your data, here just save the current page
selections = getIdSelections();
// push or splice the selections if you want to save all data selections
});
$table.on('expand-row.bs.table', function (e, index, row, $detail) {
if (index % 2 == 1) {
$detail.html('Loading from ajax request...');
$.get('LICENSE', function (res) {
$detail.html(res.replace(/\n/g, '<br>'));
});
}
});
$table.on('all.bs.table', function (e, name, args) {
console.log(name, args);
});*/
$(window).resize(function(){
$table.bootstrapTable('resetView',{
height: getHeight()
});
});
}
function getIdSelections() {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row.id
});
}
function getData() {
return $.map($table.bootstrapTable('getData'), function (row) {
return row.id+"---"+row.returnCount+"---"+row.returnPrice+"---"+row.returnReason+"---"+row.saleCount;
});
}
function getHeight() {
return document.body.clientHeight*0.88;
}
/*function detailFormatter(index, row) {
var html = [];
$.each(row, function (key, value) {
html.push('<p><b>' + key + ':</b> ' + value + '</p>');
});
return html.join('');
}*/
$(document).ready(function() {
initTable();
});
</script>
二.扩展
行内编辑 Table Editable
表格导出 Table Export
原文链接:http://click.aliyun.com/m/23848/
相关推荐
ERP信息化系统:最终用户培训材料_FICO_期末结账_20080509_v1.1.ppt
而“LGVR.rar_MMS排队_Windows编程_排队_排队论_排队论 仿真”这个项目,显然关注的是一个特定的应用场景,即使用Windows编程技术实现了一个基于排队论的模拟系统。这里的核心知识点包括: 1. **MMS排队模型**:MMS...
5. **期末处理**:包括对账、结账和转账。对账确保所有账户余额正确,结账关闭会计期间,转账则调整账户余额以准备新财年的开始。 6. **报表和分析**:SAP提供多种工具生成财务报表,如FI Report Painter和BW...
如果您不想使用贝宝结账服务,您可以删除贝宝配置。 其他可用配置如下所示: elendev_checkout: paypal: username: 'your_paypal_username' password: 'your_paypal_password' signature: 'your_paypal_...
 自动结账功能。  按开台和商品实现的日结账功能。  按日消费额汇总统计实现的月结账功能。  按日营业额实现的年结账功能。  系统运行稳定、安全可靠。
酒店结账单模板.doc 本资源是一份酒店结账单模板,包含了酒店客人的基本信息、房间信息、消费记录、结账信息等内容。同时,本模板还包含了酒店的安全管理规定、培训要求、责任书等内容。 知识点: 1. 安全管理:...
通过这个示例应用,你可以学习如何添加商品、处理数量调整、计算总价、以及模拟结账流程等关键的购物车功能。此外,这个应用可能还包含错误处理和测试用例,以便开发者了解在实际开发过程中如何确保代码的稳定性和...
(3)在结账操作时,如果某一个菜单没有签单或取消签单,那么,先将此菜单进行签单或取消,然后再进行结账。 操作流程 使用本程序时,请按以下步骤操作: (1)用户登录后,进入酒店管理主界面,如图1.7所示。 图...
在会计实务中,对账和结账是两个关键的环节,确保企业的财务数据准确无误。首先,我们来深入理解这两个概念。 对账,是指企业在一定时期内对各种账簿和记录进行核对,以确保会计信息的完整性和准确性。对账主要涉及...
gh_doctor_schedule(医生出诊计划):由医生自己确定在某时间段内不出诊,在生成挂号纪录时应判断医生是否在不出诊期内,若是则不生成此医生挂号纪录。 费用处理 费用处理是非常重要的功能,主要涉及三张表: * ...
- 不可数名词指不能以**数目**来计算的名词,通常无复数形式,前面不能直接用"a/an",若要表示个体概念需搭配量词,如"a piece of paper"。 - 同一词在不同情境下可能为可数或不可数,例如"glass",作为"玻璃"是不...
- `b_status`:开单状态,1表示未结账,2表示已结账。 - `b_h_id`:所属分店ID,关联分店数据。 8. **结账单(Checkout)**: - `c_id`:结账单ID,记录结账信息。 - `c_b_num`:订单号,与开单关联。 - `c_...
**OpenCart 3 单页结账插件详解** OpenCart 是一款流行的开源电子商务平台,以其易用性和灵活性深受小型到中型在线商家的喜爱。在OpenCart 3中,为了提高用户购物体验,开发了“quick checkout pro”单页结账插件。...
酒店客房管理系统源码java Hotel Management System 酒店管理系统 基本要求: 利用java web技术开发一个酒店管理系统 一、功能要求: ...退房管理:将房间设置为可用,显示结账账单。--前台接待员 【客
在客户进行结账时向他们添加一些限制。 安装 将 spree_order_constraints 添加到您的 Gemfile 中: gem 'spree_order_constraints' 捆绑您的依赖项并运行安装生成器: bundle ./bin/rails g spree_order_...
支付宝介绍我选择在网站上使用 ruby on rails 并与 Paypal 的快速结账 API 集成。 整个过程包括3个API调用: SetExpressCheckout : 嵌套在 set_express_checkout 方法中GetExpressCheckout : 嵌套在 get_express...
air_condition2015/05/20 :grinning_face_with_smiling_eyes: qmlClient 不能正确识别连续点击,待更正2015/05/21 :grinning_face_with_smiling_eyes: testInterval 正常工作2015/05/25 :grinning_face_with_smiling...