表格插件-BootStrapTable

属性 (Options)

基本使用

$('#tableID').bootstrapTable({})

表的各项(Table options )

定义在 jQuery.fn.bootstrapTable.defaults 文件内
名称类型默认值作用描述
heightNumber表格的高度
undefinedTextString-当不写任何内容默认显示'-'
stripedBooleanfalse默认false,当设为true,则每行表格的背景会显示灰白相间
sortNameString定义哪一列的值会被排序
sortOrderStringasc默认递增(asc),也可设为递减(desc)
sortStableBooleanfalse
iconsPrefixStringglyphicon
iconSizeString定义的图标大小:<br/>- undefined =>默认表示默认的按钮尺寸(btn)<br/>- xs =>超小按钮的尺寸(btn-xs)<br/>- sm =>小按钮的尺寸(btn-sm)<br/>- lg =>大按钮的尺寸(btn-lg)
buttonsClassString默认为default按钮的类,- 可选的有:primary、danger、warning等<br/> 参考:Bootstrap 按钮
columnsArray[]
dataArray[]被加载的数据
methodStringget向服务器请求远程数据的方式
urlString向服务器请求的url
cacheBooleantrue默认缓存ajax请求,设为false则禁用缓存
dataTypeStringjson期望从服务器获取的数据的类型
ajaxOptionsObject{}向服务器请求ajax时的附加项
queryParamsFunction当请求数据时,你可以通过修改queryParams向服务器发送其余的参数。 <br/>- queryParamsType <br/> - params包括:pageSize,pageNumber,searchText,sortName,sortOrder<br/> - 当return false,请求则终止
queryParamsTypeStringlimit参数包括:limit,offset,search,sort,order Else
paginationBooleanfalse默认为false,表格的底部工具栏不会显示分页条
paginationLoopBooleantrue默认true,分页条无限循环
pageNumberNumber1用于设置初始的页数,默认第1页
pageSizeNumber10用于设置每页初始显示的条数,默认每页显示10条记录
pageListArray[10, 25, 50, 100]用于设置选择每页显示的条数
selectItemNameStringbtSelectItemradio或checkbox的字段名btSelectItem
searchBooleanfalse在搜索框内输入内容并且按下回车键才开始搜索
strictSearchBooleanfalse设为true,开启精确搜索
searchTextString搜索框初始显示的内容,默认空字符串
showHeaderBooleantrue默认为true显示表头,设为false隐藏
showFooterBooleanfalse默认为false隐藏表尾,设为true显示
showColumnsBooleanfalse默认为false隐藏某列下拉菜单,设为true显示
showRefreshBooleanfalse默认为false隐藏刷新按钮,设为true显示
showToggleBooleanfalse默认为false隐藏视图切换按钮,设为true显示
showPaginationSwitchBooleanfalse默认为false隐藏每页数据条数选择,设为true显示
minimumCountColumnsNumber1每列的下拉菜单最小数
idFieldString表明哪个是字段是标识字段
uniqueIdString表明每行唯 一的标识符
cardViewBooleanfalse默认false,设为true显示card view(卡片视图)
detailViewBooleanfalse默认false,设为true显示detail view(细节视图)
searchAlignStringright索框的位置,默认right(最右),可选left
buttonsAlignStringright工具栏按钮的位置,默认right(最右),可选left
toolbarAlignStringleft自定义工具栏的位置,默认right(最右),可选left
paginationVAlignStringbottom分页条垂直方向的位置,<br/>默认bottom(底部),可选top、both(顶部和底部均有分页条)
paginationHAlignStringright分页条水平方向的位置,默认right(最右),可选left
singleSelectBooleanfalse默认false,设为true则允许复选框仅选择一行
toolbarString or Node
checkboxHeaderBooleantrue设为false则表格第一行的不显示,从第二行往后都显示

列的各项(Column options )

定义在 jQuery.fn.bootstrapTable.columnDefaults 文件内
名称类型默认值作用描述
radioBooleanfalse默认false不显示radio,<br/>设为true则显示,radio宽度是固定的
checkboxBooleanfalse默认false不显示checkbox,<br/>设为true则显示,checkbox的每列宽度已固定
fieldString是每列的字段名,表内唯一
titleString这个是表头所显示的名字,不唯一
titleTooltipString当悬浮在某控件上,出现提示 <br/>- 参考 Bootstrap 提示工具(Tooltip)插件
rowspanNumber每格所占的行数
colspanNumber每格所占的列数
alignString每格内数据的对齐方式,有:<br/>left、<br/>right、<br/>center
halignStringtable header(表头)的对齐方式,有:<br/>left、<br/>right、<br/>center
falignStringtable footer(表脚)的对齐方式,有:<br/>left、<br/>right、<br/>center
valignString每格数据的对齐方式,有:<br/>top、<br/>middle(居中)、<br/>bottom
widthNumber(单位:px或%)每列的宽度。<br/>如果没有自定义宽度,那么会根据内容的宽度自适应。<br/>可以使用"%"作为单位,bootstapTable将按百分比划分
sortableBooleanfalse默认false就默认显示,设为true则会被排序
orderStringasc默认的排序方式为"asc",也可以设为"desc"。<br/> - 与sortable的结合使用
visibleBooleantrue默认为true显示该列,设为false则隐藏该列
cardVisibleBooleantrue默认为true显示该列,设为false则隐藏。
switchableBooleantrue默认为true显示该列,设为false则禁用列项目的选项卡
clickToSelectBooleantrue默认true,不响应,设为false;<br/>当点击此行时,不会自动选中此行的checkbox或radiobox
formatterFunction某格的数据转换函数,需要三个参数:<br/>- value: field(字段名) <br/>- row:行的数据 <br/>- index:行的(索引)index
footerFormatterFunction某格的数据转换函数,需要一个参数:<br/>- data: 所有行数据的数组
eventsObject当某格使用formatter函数时,事件监听会响应,需要四个参数: <br/>- event:jQuery事件(参考Events) <br/> - value:字段名 <br/>- row:行数据 <br/> - index:此行的index
cellStyleFunction对某格中显示样式进行设置,需要四个函数:<br/>- value:字段名 <br/>- row:行数据 <br/>- index:此行的index <br/> - field:行的字段名
searchableBooleantrue默认true,表示此列数据可被查询
searchFormatterBooleantrue默认true,可使用格式化的数据查询
escapeBooleanfalse跳过插入HTML中的字符串,替换掉特殊字符(后面符号没有逗号):<br/>&,<,>,",`,'

简单示例

$.fn.bootstrapTableEx = function(opt) {
	var defaults = {
		toolbar:'',
		url : '', 							// 请求后台的URL(*)
		dataField : "rows",
		dataType : 'json',
		selectItemName : 'id',
		smartDisplay : false,
		method: 'post',                     // 请求方式(*)
		toolbar: '',       					// 工具按钮用哪个容器
		iconsPrefix:'glyphicon',            // 定义字体库 ('Glyphicon' or 'fa' for FontAwesome)
		striped: true,                      // 是否显示行间隔色
		cache: false,                       // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
		sortable: true,                     // 是否启用排序
		queryParamsType: '',
		queryParams: queryParams,			// 传递参数(*)
		sidePagination: "server",           // 分页方式:client客户端分页,server服务端分页(*)
		pageNumber: 1,                      // 初始化加载第一页,默认第一页
		pageSize: 10,                       // 每页的记录行数(*)
		pageList: [10, 20, 30, 40, 50],     // 可供选择的每页的行数(*)
		strictSearch: true,
		showHeader:true,					// 是否显示列头
		showFooter:false,					// 是否显示列脚
		showColumns: true,                  // 是否显示所有的列
		showRefresh: true,                  // 是否显示刷新按钮
		showToggle: false,                  // 是否显示详细视图和列表视图的切换按钮
		minimumCountColumns: 2,             // 最少允许的列数
		clickToSelect: true,                // 是否启用点击选中行
		cardView: false,                    // 是否显示详细视图
		detailView: false,                  // 是否显示父子表
		pagination: true,                   // 是否显示分页(*)
		paginationLoop:false,				// 设置为 true 启用分页条无限循环的功能
		onlyInfoPagination:false,			// 设置为 true 只显示总数据数,而不显示分页按钮
		paginationPreText:"上一页",			// 指定分页条中上一页按钮的图标或文字
		paginationNextText:"下一页",			// 指定分页条中下一页按钮的图标或文字
		clickToSelect:true,					// 设置true 将在点击行时,自动选择rediobox 和 checkbox
		singleSelect:true,					// 设置True 将禁止多选
		maintainSelected:false,				// 设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
		contentType: "application/x-www-form-urlencoded",
		columns : [],
		formatDetailPagination : function(totalRows) {
			return "总共显示 " + totalRows + " 条记录";
		},
		onLoadSuccess: function(data){  // 加载成功时执行  
			if(dllwh.isNotNullOrEmpty(data.success)&& !data.success){
				dialogMsg(data.msg, "error");
			}
		},
		onLoadError: function(status){  // 加载失败时执行
			dialogMsg("数据加载失败,请重新刷新页面", "error");
		},
		formatShowingRows : function(pageFrom, pageTo, totalRows) {
			if(totalRows >0){
				return "显示第 " + pageFrom + " 到第 " + pageTo + " 条记录,总共 " + totalRows + " 条记录"
			} else {
				return "";
			}
			
		},
		formatNoMatches: function () {//没有匹配的结果
			$(".page-next").addClass('disabled');
			return '无符合条件的记录';
		}
	}
	var option = $.extend({}, defaults, opt);
	$(this).bootstrapTable(option);
}

事件(Events)

定义事件的格式

$('#tableID').bootstrapTable({
    onEventName: function (arg1, arg2, ...) {
	// ...    
	}
});
$('#tableID').on('event-name.bs.table', function (e, arg1, arg2, ...) {
    // ...
}

常用事件

事件名称JQuery事件参数作用描述
onAllall.bs.tablename, args任何事件触发都会同时触发该事件, 包含2个参数<br/>name: 事件名称<br/>args: 事件参数
onClickRowclick-row.bs.tablerow, $element,field当点击某一行时触发,包含3个参数 <br/>row:点击行的数据(从0开始)<br/>$element: 对应的tr元素<br/> field:所点击的单元格对应的列名称<br/>
onDblClickRowdbl-click-row.bs.tablerow, $element, field当双击击某一行时触发,包含3个参数 <br />row: 点击行的数据 <br />$element: 对应的tr元素 <br />field:所点击的单元格对应的列名称
onClickCellclick-cell.bs.tablefield, value, row, $element当点击某一个单元格时触发,包含4个参数 <br />field: 所点击的单元格对应的列名称 <br />value: 所点击的单元格对应列的值 <br />row:单元格所在行数据 <br />$element: 对应的td元素
onDblClickCelldbl-click-cell.bs.tablefield, value, row, $element当双击某一个单元格时触发,包含4个参数 <br/>field: 所点击的单元格对应的列名称 <br />value: 所点击的单元格对应列的值 <br />row:单元格所在行数据 <br />$element: 对应的td元素
onSortsort.bs.tablename,order当用户点击列头对某一列进行排序时触发,包含2个参数<br/>name: 排序的列名称 <br />order: 排序方式
onCheckcheck.bs.tablerow, $element当用户选中一行时触发,包含2个参数<br />row: 所选中行的行数据<br/>$element: 选中的<input>元素
onUncheckuncheck.bs.tablerow,$element当用户取消选中一行时触发,包含2个参数<br/>row: 所取消选中的行数据<br/>$element: 选中的<input>元素
onCheckAllcheck-all.bs.tablerows当用户点击全选框时触发,包含1个参数 <br />rows: 选中的行数据数组
onUncheckAlluncheck-all.bs.tablerows当用户点击全选框取消选择时触发,包含1个参数 <br/>rows: 取消选中的行数据数组
onCheckSomecheck-some.bs.tablerows当用户选中某些行时触发,包含1个参数 <br />rows: 选中的行数据数组
onUncheckSomeuncheck-some.bs.tablerows当用户取消选中某些行时触发,包含1个参数 <br/>rows: 取消选中的行数据数组
onLoadSuccessload-success.bs.tabledata当远程数据被加载完成后触发
onLoadErrorload-error.bs.tablestatus, res当远程数据被加载出错后触发
onColumnSwitchcolumn-switch.bs.tablefield, checked当切换列的显示状态(可见或不可见)时触发
onColumnSearchcolumn-search.bs.tablefield, text对列内容进行搜索时触发
onPageChangepage-change.bs.tablenumber, size当切换每页条数时触发
onSearchsearch.bs.tabletext当对表格内容进行搜索时触发
onToggletoggle.bs.tablecardView当切换表格的显示视图时触发
onPreBodypre-body.bs.tabledata在对表格体进行渲染前触发
onPostBodypost-body.bs.tabledata在表格体渲染完成,并在 DOM 中可见后触发
onPostHeaderpost-header.bs.tablenone在表格列头渲染完成,并在 DOM 中可见后触发
onExpandRowexpand-row.bs.tableindex, row, $detail当点击详情按钮展开详情视图时触发
onCollapseRowcollapse-row.bs.tableindex, row当点击关闭详情按钮收起详情视图时触发
onRefreshOptionsrefresh-options.bs.tableoptions在销毁当前表格并重新初始化新表格之前触发
onResetViewreset-view.bs.table当重置表格视图时触发
onRefreshrefresh.bs.tableparams当点击刷新按钮对表格进行刷新时触发
onScrollBodyscroll-body.bs.table当对表格体进行滚动时触发

方法(Methods)

定义方法响应的语法:

$('#table').bootstrapTable('method', parameter);

方法列表说明

方法名参数描述
getOptions获取表格的参数 <br/> - 请查看: getOptions
getSelections获取当前被选中的行,当没有行被选择,则返回长度为0的空数组 <br/> - 请查看: getSelections
getAllSelections获取当前被选中的行数据,包含搜索和过滤前的,当没有行被选择,则返回空数组 <br/> - 请查看: getAllSelections
showAllColumns展示所有列
hideAllColumns隐藏所有列
getDatauseCurrentPage获取当前表格中加载的数据,参数useCurrentPage为true 将返回当前页内的数据 <br/> - 请查看: getData
getRowByUniqueIdid根据唯一ID获取行数据 <br/> - 请查看: getRowByUniqueId
loaddata向表中加载新数据,原来的数据将被移除 <br/> - 请查看: load
appenddata将新数据追加到表格末尾 <br/> - 请查看: append
prependdata将新数据插入到表格头部 <br/> - 请查看: prepend
removeparams从表格中移除列名为指定值的数据,包含2个参数<br />field: 列名 <br />values: 列名取值数组 <br/> - 请查看: remove
removeAll移除表格中的所有数据 <br/>- 请查看: removeAll
removeByUniqueIdid根据唯一ID移除行数据 <br/>- 请查看: removeByUniqueId
insertRowparams插入多个新行到指定位置,每一行包含以下参数<br/>index:要插入到行的索引<br/>row: 要插入的行数据 <br/> - 请查看: insertRow
updateRowparams更新指定的行,每一行包含以下参数<br/>index:要插入到行的索引<br/>row: 要插入的行数据 <br/> - 请查看: updateRow
updateByUniqueIdparams根据唯一ID更新行数据每一行包含以下参数<br/>id: 唯一ID<br/>row: 新的行数据 <br/> - 请查看: updateByUniqueId
showRowparams显示指定行,至少需包含以下任意参数<br/>index:行索引<br/>uniqueId:行唯一ID <br/> - 请查看: showRow/hideRow
hideRowparams隐藏指定行,至少需包含以下任意参数<br/>index:行索引 <br/> - 请查看: showRow/hideRow
getHiddenRowsboolean获取所有隐藏的行数据,当参数为 true 会将隐藏行进行显示 <br/> - 请查看: getHiddenRows
mergeCellsoptions合并多个单元格,包含以下参数<br/>index: 行索引<br/>field: 列名称<br/>rowspan: 合并多少行<br/>colspan: 合并多少列 <br/> - 请查看: mergeCells
updateCellparams更新一个单元格数据,包含以下参数<br/>index: 行索引<br/>field: 列名称<br/>value: 新列值<br/>禁止表格重新初始化需添加参数{reinit: false}
refreshparams重新加载远程数据,可以设置{silent: true}静默加载数据,<br/>设置{url: newUrl, pageNumber: pageNumber, pageSize: pageSize}改变数据请求地址和分页参数,<br/>请求参数通过 {query: {foo: 'bar'}} 修改 <br/> 请查看: refresh
refreshOptionsoptions刷新表格的参数<br/>- 请查看: refreshOptions
resetSearchtext设置搜索内容<br/> - 请查看: resetSearch
showLoading显示数据加载状态提示<br/> - 请查看: showLoading/hideLoading
hideLoading隐藏数据加载状态提示<br/> - 请查看: showLoading/hideLoading
checkAll选中当前页的所有行<br/> - 请查看: checkAll/uncheckAll
uncheckAll取消选中当前页的所有行<br/> - 请查看: checkAll/uncheckAll
checkInvert对当前页内行数据进行反选,会触发onCheckSome 和 onUncheckSome 事件
checkindex选中某一行,索引从0开始<br/> - 请查看: checkAll/uncheckAll
uncheckindex取消选中某一行,索引从0开始<br/> - 请查看: checkAll/uncheckAll
checkByparams根据列名选则行数据<br/>field: 列名称<br/>values:列取值数组<br/>$("#table").bootstrapTable("checkBy",{field:"field_name",values:["value1","value2","value3"]})
uncheckByparams根据列名取消选中行数据<br/>field: 列名称<br/>values:列取值数组<br/>$("#table").bootstrapTable("uncheckBy", {field:"field_name",values:["value1","value2","value3"]})
resetViewparams重置表格视图
resetWidth重新设置列头和列尾的宽度去适应当前列的宽度
destroy销毁表格<br/>- 请查看: destroy
showColumnfield显示指定列<br/> - 请查看: showColumn/hideCoulumn
hideColumnfield隐藏指定列<br/> - 请查看: showColumn/hideCoulumn
getHiddenColumns获取隐藏的列
getVisibleColumns获取可见的列
scrollTovalue使滚动条滚动到指定位置,单位像素,'bottom' 滚动条滚动到底<br/> - 请查看: scrollTo
getScrollPosition获取当前滚动条的位置,单位像素
filterByparams在client模式下,对表格数据进行过滤,语法示例如下<br/>{age: 10, hairColor: ["blue", "red", "green"]}
selectPagepage跳转到指定页<br/>- 请查看: selectPage/prevPage/nextPage
prevPage上一页<br/>- 请查看: selectPage/prevPage/nextPage
nextPage下一页<br/>- 请查看: selectPage/prevPage/nextPage
togglePagination切换分页参数<br/> - 请查看: togglePagination
toggleView切换 card/table 视图<br/>- 请查看: toggleView
expandRowindex当详细视图设置为True时,展开指定索引的行的详细视图<br/> - 请查看: expandRow-collapseRow
collapseRowindex当详细视图设置为True时,收起指定索引的行的详细视图<br/> - 请查看: expandRow-collapseRow
expandAllRowsis subtable当详细视图设置为True时,展开所有行的详细视图
collapseAllRowsis subtable当详细视图设置为True时,收起所有行的详细视图
updateCellByIdparams根据唯一ID更新指定单元格,包含以下参数<br/>id: 唯一ID<br/>field: 要更新的列的列名称<br/>value: 新值

语言

需要在页面中引入所有需要的本地化脚本

<script src="bootstrap-table-en-US.js"></script><script src="bootstrap-table-zh-CN.js"></script>
名称参数默认值描述
formatLoadingMessage'Loading, please wait…'"加载中,请等待……"
formatRecordsPerPagepageNumber'%s records per page'"每页显示 pageNumber 条记录"
formatShowingRowspageFrom, pageTo, totalRows'Showing %s to %s of %s rows'"显示第 from 到第 to 条记录 totalRows"
formatDetailPaginationtotalRows'Showing %s rows'“总共 totalRows 条记录"
formatSearch'Search'"搜索"
formatNoMatches'No matching records found'“没有找到匹配的记录”
formatRefresh'Refresh'"刷新"(鼠标悬浮显示的文字)
formatToggle'Toggle'"切换"(鼠标悬浮显示的文字)
formatColumns'Columns'"列"(鼠标悬浮显示的文字)
formatAllRows'All'
formatFullscreen'Fullscreen'

转载于:https://my.oschina.net/u/1030471/blog/3002112

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值