表格的参数定义在 jQuery.fn.bootstrapTable.defaults
。
名称 | 标签 | 类型 | 默认 | 描述 |
---|---|---|---|---|
- | data-toggle | String | 'table' | 不用写 JavaScript 直接启用表格。 |
classes | data-classes | String | 'table table-hover' | 表格的类名称。默认情况下,表格是有边框的,你可以添加 table-no-bordered 来删除表格的边框样式。并且当鼠标悬浮在那一行,背景会变为浅灰色。 |
sortClass | data-sort-class | String | undefined | 被排序的td元素的类名。 |
height | data-height | Number | undefined | 定义表格的高度。 |
undefinedText | data-undefined-text | String | '-' | 当数据为 undefined 时显示的字符。 |
striped | data-striped | Boolean | false | 设置为 true 会有隔行变色效果,即每行表格的背景会显示成灰白相间。 |
sortName | data-sort-name | String | undefined | 定义排序列,通过url方式获取数据填写字段名,否则填写下标。即填写 field 的自定义名称,未填写则默认都不排列。同 sortOrder 结合使用,默认递增。 |
sortOrder | data-sort-order | String | 'asc' | 定义排序方式,asc 或者 desc 。 |
sortStable | data-sort-stable | Boolean | false | 设置为 true 将获得稳定的排序,我们会添加_position 属性到 row 数据中。 |
rememberOrder | data-remember-order | Boolean | false | 设置 true 记住每个列的顺序。 |
iconsPrefix | data-icons-prefix | String | 'glyphicon' | 定义字体库 ('Glyphicon' or 'fa' for FontAwesome),使用"fa"时需引用 FontAwesome,并且配合 icons 属性实现效果。 Glyphicon 集成于Bootstrap可免费使用,参考: http://glyphicons.com/ FontAwesome 参考: http://fortawesome.github.io/ |
iconSize | data-icon-size | String | undefined | 定义的图标大小:
|
buttonsClass | data-buttons-class | String | 'default' | 按钮的类,默认为default。
|
icons | data-icons | Object | { paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down', paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up', refresh: 'glyphicon-refresh icon-refresh' toggle: 'glyphicon-list-alt icon-list-alt' columns: 'glyphicon-th icon-th' detailOpen: 'glyphicon-plus icon-plus' detailClose: 'glyphicon-minus icon-minus' } | 自定义图标 |
columns | - | Array | [] | 列配置项,详情请查看 列参数 表格. |
data | - | Array | [] | 加载json格式的数据。 |
dataField | data-data-field | String | 'rows' | 获取每行数据json内的key |
totalField | data-total-field | String | 'total' | 获取total数据json内的key。 |
ajax | data-ajax | Function | undefined | 自定义 AJAX 方法,须实现 jQuery AJAX API。 |
method | data-method | String | 'get' | 服务器数据的请求方式 'get' 或 'post'。 |
url | data-url | String | undefined | 服务器数据的加载地址。 |
cache | data-cache | Boolean | true | 设置为 false 禁用 AJAX 数据缓存。 |
contentType | data-content-type | String | 'application/json' | 发送到服务器的数据编码类型。 |
dataType | data-data-type | String | 'json' | 服务器返回的数据类型。 |
ajaxOptions | data-ajax-options | Object | {} | 提交ajax请求时的附加参数,可用参数列请查看http://api.jquery.com/jQuery.ajax. |
queryParams | data-query-params | Function | | 请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果 queryParamsType = 'limit' ,返回参数必须包含 limit, offset, search, sort, order 否则, 需要包含: pageSize, pageNumber, searchText, sortName, sortOrder. 返回false将会终止请求。 |
queryParamsType | data-query-params-type | String | 'limit' | 设置为 'limit' 则会发送符合 RESTFul 格式的参数。 |
responseHandler | data-response-handler | Function | | 加载服务器数据之前的处理程序,可以用来格式化数据。 参数:res为从服务器请求到的数据。 |
pagination | data-pagination | Boolean | false | 设置为 true 会在表格底部显示分页条。 |
paginationLoop | data-pagination-loop | Boolean | true | 设置为 true 启用分页条无限循环的功能。 |
onlyInfoPagination | data-only-info-pagination | Boolean | false | 设置为 true 只显示总数据数,而不显示分页按钮。需要设置 pagination='true'。 |
sidePagination | data-side-pagination | String | 'client' | 设置在哪里进行分页,可选值为 'client' 或者 'server'。设置 'server'时,必须设置服务器数据地址(url)或者重写ajax方法。 |
pageNumber | data-page-number | Number | 1 | 如果设置了分页,首页页码。 |
pageSize | data-page-size | Number | 10 | 如果设置了分页,页面数据条数。 |
pageList | data-page-list | Array | [10, 25, 50, 100, All] | 如果设置了分页,设置可供选择的页面数据条数。设置为 All 或者 Unlimited,则显示所有记录。 |
selectItemName | data-select-item-name | String | 'btSelectItem' | radio 或者 checkbox 的字段 name 名。 |
smartDisplay | data-smart-display | Boolean | true | 设置为 true 是程序自动判断显示分页信息和 card 视图。 |
escape | data-escape | Boolean | false | 转义HTML字符串,替换 & , < , > , " , \` , 和 ' 字符。 |
search | data-search | Boolean | false | 默认false不显示表格右上方搜索框 ,可设为true,在搜索框内只要输入内容即开始搜索 |
searchOnEnterKey | data-search-on-enter-key | Boolean | false | 默认false不启用,设为true启用,在搜索框内输入内容并且按下回车键才开始搜索 |
strictSearch | data-strict-search | Boolean | false | 设为true,开启精确搜索 |
searchText | data-search-text | String | '' | 前提:search设为true,启用了搜索功能。
|
searchTimeOut | data-search-time-out | Number | 500 | 前提:search设为true,启用了搜索功能。
|
trimOnSearch | data-trim-on-search | Boolean | true | 默认true,自动忽略空格 |
showHeader | data-show-header | Boolean | true | 默认为true显示表头,设为false隐藏 |
showFooter | data-show-footer | Boolean | false | 默认为false隐藏表尾,设为true显示 |
showColumns | data-show-columns | Boolean | false | 默认为false隐藏某列下拉菜单,设为true显示 |
showRefresh | data-show-refresh | Boolean | false | 默认为false隐藏刷新按钮,设为true显示 |
showToggle | data-show-toggle | Boolean | false | 默认为false隐藏视图切换按钮,设为true显示 |
showPaginationSwitch | data-show-pagination-switch | Boolean | false | 默认为false隐藏每页数据条数选择,设为true显示 |
showFullscreen | data-show-fullscreen | Boolean | false | 默认为false隐藏全屏按钮,设为true显示 |
minimumCountColumns | data-minimum-count-columns | Number | 1 | 每列的下拉菜单最小数 |
idField | data-id-field | String | undefined | 表明哪个字段是标识字段。 |
uniqueId | data-unique-id | String | undefined | 表明每一行的唯一标识符。 |
cardView | data-card-view | Boolean | false | 默认false,设为true显示card view(卡片视图) |
detailView | data-detail-view | Boolean | false | 默认false,设为true显示detail view(细节视图) |
detailFormatter | data-detail-formatter | Function | | 前提:detailView设为true,启用了显示detail view。
|
detailFilter | data-detail-filter | Function | | 当detailView设置为true时,允许展开每一行。返回true,该行将启用扩展,返回false,并且将禁用该行的扩展。默认函数返回true,以便对所有行进行扩展。 |
searchAlign | data-search-align | String | 'right' | 搜索框的位置,默认right(最右),可选left |
buttonsAlign | data-buttons-align | String | 'right' | 工具栏按钮的位置,默认right(最右),可选left |
toolbarAlign | data-toolbar-align | String | 'left' | 自定义工具栏的位置,默认left(最左),可选right |
paginationVAlign | data-pagination-v-align | String | 'bottom' | 分页条垂直方向的位置,默认bottom(底部),可选top、both(顶部和底部均有分页条) |
paginationHAlign | data-pagination-h-align | String | 'right' | 分页条水平方向的位置,默认right(最右),可选left |
paginationDetailHAlign | data-pagination-detail-h-align | String | 'left' | 指示如何对齐分页细节。分页细节为(显示第 1 到第 10 条记录,总共 15 条记录 每页显示 10 条记录) |
paginationPreText | data-pagination-pre-text | String | '‹' | 在分页中显示的图标,即页码前面的按钮。 |
paginationNextText | data-pagination-next-text | String | '›' | 在分页中显示的图标,即页面后面的按钮。 |
clickToSelect | data-click-to-select | Boolean | false | 默认false不响应,设为true则当点击此行的某处时,会自动选中此行的checkbox(复选框)或radiobox(单选按钮) |
ignoreClickToSelectOn | data-ignore-click-to-select-on | Function | { return $.inArray(element.tagName, ['A', 'BUTTON']); } | 采用一个参数:
|
singleSelect | data-single-select | Boolean | false | 默认false,设为true则允许复选框只选择一行 |
toolbar | data-toolbar | String | Node | undefined | jQuery的选择器,例如:#toolbar,.toolbar,或者是DOM 结点 |
buttonsToolbar | data-buttons-toolbar | String | Node | undefined | jQuery的选择器,例如:#buttons-toolbar, .buttons-toolbar,或者是DOM 结点 |
checkboxHeader | data-checkbox-header | Boolean | true | 默认显示表头行的复选框,设为false隐藏(即表格第一行的不显示,从第二行往后都显示) |
maintainSelected | data-maintain-selected | Boolean | false | 设为true则保持被选的那一行的状态 |
sortable | data-sortable | Boolean | true | 默认true,设为false禁用所有列的排列(需要在th声明data-sortable=”true”) |
silentSort | data-silent-sort | Boolean | true | 设置false对数据进行静默排序。当sidePagination选项设置为server时,此选项生效。 |
rowStyle | data-row-style | Function | {} | 改变某行的格式,需要两个参数:
|
rowAttributes | data-row-attributes | Function | {} | 改变某行的属性,需要两个参数:
|
customSearch | data-custom-search | Function | $.noop | 自定义搜索功能(用来代替自带的搜索功能),需要一个参数:
|
customSort | data-custom-sort | Function | $.noop | 自定义排序功能(用来代替自带的排序功能),需要两个参数:
|
locale | data-locale | String | undefined | 设置要使用的区域设置(即多语言设置)。区域文件必须预先加载。允许fallback,如果加载,按以下顺序:
|
footerStyle | data-footer-style | Function | {} | 改变footer格式,需要两个参数:
|
列参数定义在 jQuery.fn.bootstrapTable.columnDefaults
。
名称 | 标签 | 类型 | 默认 | 描述 |
---|---|---|---|---|
radio | data-radio | Boolean | false | 是否显示单选radio |
checkbox | data-checkbox | Boolean | false | 是否显示多选checkbox |
field | data-field | String | undefined | 该列映射的data的参数名 |
title | data-title | String | undefined | 该列的表头名 |
titleTooltip | data-title-tooltip | String | undefined | 该列表头的title提示文本 |
class | class / data-class | String | undefined | 该列的class |
rowspan | rowspan / data-rowspan | Number | undefined | 合并单元格时定义合并多少行 |
colspan | colspan / data-colspan | Number | undefined | 合并单元格时定义合并多少列 |
align | data-align | String | undefined | 设置该列数据如何对齐,’left’, ‘right’, ‘center’ |
halign | data-halign | String | undefined | table header对齐方式, ‘left’, ‘right’, ‘center’ |
falign | data-falign | String | undefined | table footer对齐方式, ‘left’, ‘right’, ‘center’ |
valign | data-valign | String | undefined | 单元格(cell)对齐方式. ‘top’, ‘middle’, ‘bottom’ |
width | data-width | Number {Pixels or Percentage} | undefined | 列的宽度,可以使用像素或者百分比,不带单位则默认为px |
sortable | data-sortable | Boolean | false | 该列是否排序(表头显示双箭头) |
order | data-order | String | ‘asc’ | 该列默认的排序方式, ‘asc’ or ‘desc’. |
visible | data-visible | Boolean | true | 该列是否可见 |
cardVisible | data-card-visible | Boolean | true | 在card视图里是否可见 |
switchable | data-switchable | Boolean | true | 列切换是否可见. |
clickToSelect | data-click-to-select | Boolean | true | 是否选中checkbox或者radio,当该列被选择时 |
formatter | data-formatter | Function | undefined | 格式化单元格内容,function(value, row, index), value:该cell本来的值,row:该行数据,index:该行序号(从0开始) |
footerFormatter | data-footer-formatter | Function | undefined | 格式化footer内容,function(rows),rows:所有行数据 |
events | data-events | Object | undefined | The cell 的事件监听,当你使用formatter function的时候,有三个参数: event: the jQuery event. value: 该cell的值 row: 该行的数据index: 该行的序号 |
sorter | data-sorter | Function | undefined | 自定义字段排序函数,function(a, b) |
sortName | data-sort-name | String | undefined | 当列中有html等标签时,只排序实际内容(忽略标签和样式),例如字段为:”abc“,则sortName=abc |
cellStyle | data-cell-style | Function | undefined | 单元格样式,支持css和classes,function(value, row, index)value: 该cell的值 row: 该行的数据index: 该行的序号 |
searchable | data-searchable | Boolean | true | 搜索时是否搜索此列 |
searchFormatter | data-search-formatter | Boolean | true | 搜索是否使用格式化后的数据(即显示在页面上的数据) |
使用事件的语法:
$('#table').bootstrapTable({
onEventName: function (arg1, arg2, ...) {
// ...
}
});
$('#table').on('event-name.bs.table', function (e, arg1, arg2, ...) {
// ...
});
Option 事件 | jQuery 事件 | 参数 | 描述 |
---|---|---|---|
onAll | all.bs.table | name, args | 所有的事件都会触发该事件,参数包括: name:事件名, args:事件的参数。 |
onClickRow | click-row.bs.table | row, $element | 当用户点击某一行的时候触发,参数包括: row:点击行的数据, $element:tr 元素, field:点击列的 field 名称。 |
onDblClickRow | dbl-click-row.bs.table | row, $element | 当用户双击某一行的时候触发,参数包括: row:点击行的数据, $element:tr 元素, field:点击列的 field 名称。 |
onClickCell | click-cell.bs.table | field, value, row, $element | 当用户点击某一列的时候触发,参数包括: field:点击列的 field 名称, value:点击列的 value 值, row:点击列的整行数据, $element:td 元素。 |
onDblClickCell | dbl-click-cell.bs.table | field, value, row, $element | 当用户双击某一列的时候触发,参数包括: field:点击列的 field 名称, value:点击列的 value 值, row:点击列的整行数据, $element:td 元素。 |
onSort | sort.bs.table | name, order | 当用户对某列进行排序时触发,参数包括: name:排序列的 filed 名称, order:排序顺序。 |
onCheck | check.bs.table | row | 当用户选择某一行时触发,参数包含: row:与点击行对应的记录, $element:选择的DOM元素。 |
onUncheck | uncheck.bs.table | row | 当用户反选某一行时触发,参数包含: row:与点击行对应的记录, $element:选择的DOM元素。 |
onCheckAll | check-all.bs.table | rows | 当用户全选所有的行时触发,参数包含: rows:最新选择的所有行的数组。 |
onUncheckAll | uncheck-all.bs.table | rows | 当用户反选所有的行时触发,参数包含: rows:最新选择的所有行的数组。 |
onCheckSome | check-some.bs.table | rows | 当用户选择某些行时触发,参数包含: rows:相对于之前选择的行的数组。 |
onUncheckSome | uncheck-some.bs.table | rows | 当用户反选某些行时触发,参数包含: rows:相对于之前选择的行的数组。 |
onLoadSuccess | load-success.bs.table | data | 远程数据加载成功时触发成功。 |
onLoadError | load-error.bs.table | status | 远程数据加载失败时触发成功。 |
onColumnSwitch | column-switch.bs.table | field, checked | 当切换列的时候触发。 |
onColumnSearch | column-search.bs.table | field, text | 当搜索列时触发。 |
onPageChange | page-change.bs.table | number, size | 当页面更改页码或页面大小时触发。 |
onSearch | search.bs.table | text | 当搜索表格时触发。 |
onToggle | toggle.bs.table | cardView | 切换表格视图时触发。 |
onPreBody | pre-body.bs.table | data | 在表格 body 渲染之前触发。 |
onPostBody | post-body.bs.table | none | 在表格 body 渲染完成后触发。 |
onPostHeader | post-header.bs.table | none | 在表格 header 渲染完成后触发。 |
onExpandRow | expand-row.bs.table | index, row, $detail | 当点击详细图标展开详细页面的时候触发。 |
onCollapseRow | collapse-row.bs.table | index, row | 当点击详细图片收起详细页面的时候触发。 |
onRefreshOptions | refresh-options.bs.table | options | 刷新选项之后并在销毁和初始化表之前触发。 |
onRefresh | refresh.bs.table | params | 点击刷新按钮后触发。 |
onScrollBody | scroll-body.bs.table | 表格 body 滚动时触发。 |
使用方法的语法:$('#table').bootstrapTable('method', parameter);
。
名称 | 参数 | 描述 | 例子 |
---|---|---|---|
getOptions | none | 返回表格的 Options。 | 查看 |
getSelections | none | 返回所选的行,当没有选择任何行的时候返回一个空数组。 | 查看 |
getAllSelections | none | 返回所有选择的行,包括搜索过滤前的,当没有选择任何行的时候返回一个空数组。 | 查看 |
getData | useCurrentPage | 或者当前加载的数据。假如设置 useCurrentPage 为 true,则返回当前页的数据。 | 查看 |
getRowByUniqueId | id | 根据 uniqueId 获取行数据。 | 查看 |
load | data | 加载数据到表格中,旧数据会被替换。 | 查看 |
showAllColumns | none | 显示所有列。 | |
hideAllColumns | none | 隐藏所有列。 | |
append | data | 添加数据到表格在现有数据之后。 | 查看 |
prepend | data | 插入数据到表格在现有数据之前。 | 查看 |
remove | params | 从表格中删除数据,包括两个参数: field: 需要删除的行的 field 名称, values: 需要删除的行的值,类型为数组。 | 查看 |
removeAll | - | 删除表格所有数据。 | 查看 |
removeByUniqueId | id | 根据 uniqueId 删除指定的行。 | 查看 |
insertRow | params | 插入新行,参数包括: index: 要插入的行的 index, row: 行的数据,Object 对象。 | |
updateRow | params | 更新指定的行,参数包括: index: 要更新的行的 index, row: 行的数据,Object 对象。 | |
showRow | params | 显示指定的行,参数包括: index: 要更新的行的 index 或者 uniqueId, isIdField: 指定 index 是否为 uniqueid。 | |
hideRow | params | 显示指定的行,参数包括: index: 要更新的行的 index, uniqueId: 或者要更新的行的 uniqueid。 | |
getHiddenRows | show | 获取所有隐藏的行,如果show参数为true,行将再次显示,否则,只返回隐藏的行。 | |
mergeCells | options | 将某些单元格合并到一个单元格,选项包含以下属性: index: 行索引, field: 字段名称, rowspan: 要合并的rowspan数量, colspan: 要合并的colspan数量。 | |
updateCell | params | 更新一个单元格,params包含以下属性: index: 行索引。 field: 字段名称。 value: 新字段值。 | |
refresh | params | 刷新远程服务器数据,可以设置{silent: true} 以静默方式刷新数据,并设置{url: newUrl} 更改URL。 要提供特定于此请求的查询参数,请设置{query: {foo: 'bar'}} 。 | |
refreshOptions | options | 刷新选项。 | |
resetSearch | text | 设置搜索文本。 | |
showLoading | none | 显示加载状态。 | |
hideLoading | none | 隐藏加载状态。 | |
checkAll | none | 选中当前页面所有行。 | |
uncheckAll | none | 取消选中当前页面所有行。 | |
check | index | 选中某一行,行索引从0开始。 | |
uncheck | index | 取消选中某一行,行索引从0开始。 | |
checkBy | params | 按值或数组选中某行,参数包含: field: 用于查找记录的字段的名称, values: 要检查的行的值数组。 例子: $("#table").bootstrapTable("checkBy", {field:"field_name", values:["value1","value2","value3"]}) | |
uncheckBy | params | 按值数组取消选中某行,参数包含: field: 用于查找记录的字段的名称, values: 要检查的行的值数组。 例子: $("#table").bootstrapTable("uncheckBy", {field:"field_name", values:["value1","value2","value3"]}) | |
resetView | params | 重置引导表视图,例如重置表高度。 | |
resetWidth | none | 调整页眉和页脚的大小以适合当前列宽度。 | |
destroy | none | 销毁表。 | |
showColumn | field | 显示指定的列。 | |
hideColumn | field | 隐藏指定的列。 | |
getHiddenColumns | - | 获取隐藏的列。 | |
getVisibleColumns | - | 获取可见列。 | |
scrollTo | value | 滚动到指定位置,单位为 px,设置 'bottom' 表示跳到最后。 | |
getScrollPosition | none | 获取当前滚动条的位置,单位为 px。 | |
filterBy | params | (只能用于 client 端)过滤表格数据, 你可以通过过滤{age: 10} 来显示 age 等于 10 的数据。 | |
selectPage | page | 跳到指定的页。 | |
prevPage | none | 跳到上一页。 | |
nextPage | none | 跳到下一页。 | |
togglePagination | none | 切换分页选项。 | |
toggleView | none | 切换 card/table 视图 | |
expandRow | index | 如果详细视图选项设置为True,可展开索引为 index 的行。 | |
collapseRow | index | 如果详细视图选项设置为True,可收起索引为 index 的行。. | |
expandAllRows | none | 如果详细视图选项设置为True,可展开所有行。 | |
collapseAllRows | none | 如果详细视图选项设置为True,可收起开所有行。 |
名称 | 参数 | 默认 |
---|---|---|
formatLoadingMessage | - | 'Loading, please wait…' “加载,请稍候……” |
formatRecordsPerPage | pageNumber | '%s records per page' “%s 每页记录” |
formatShowingRows | pageFrom, pageTo, totalRows | 'Showing %s to %s of %s rows' “显示%s到%s行” |
formatDetailPagination | totalRows | 'Showing %s rows' 显示%s 行 |
formatSearch | - | 'Search' “搜索” |
formatNoMatches | - | 'No matching records found' "没有找到匹配的记录" |
formatRefresh | - | 'Refresh' “刷新” |
formatToggle | - | 'Toggle' “切换” |
formatColumns | - | 'Columns' “列” |
formatAllRows | - | 'All' “全部” |
formatFullscreen | - | 'Fullscreen' “全屏” |
PS:
我们可以导入您需要的所有区域文件:
<script src="bootstrap-table-en-US.js"></script>
<script src="bootstrap-table-zh-CN.js"></script>
...
然后使用JavaScript来切换区域设置:
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
// $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
// ...