【20180523】Bootstrap Table 中文文档

何雅惠
2023-12-01

表格参数


表格的参数定义在 jQuery.fn.bootstrapTable.defaults

名称标签类型默认描述
-data-toggleString'table'不用写 JavaScript 直接启用表格。
classesdata-classesString'table table-hover'表格的类名称。默认情况下,表格是有边框的,你可以添加 table-no-bordered 来删除表格的边框样式。并且当鼠标悬浮在那一行,背景会变为浅灰色。
sortClassdata-sort-classStringundefined被排序的td元素的类名。
heightdata-heightNumberundefined定义表格的高度。
undefinedTextdata-undefined-textString'-'当数据为 undefined 时显示的字符。
stripeddata-stripedBooleanfalse设置为 true 会有隔行变色效果,即每行表格的背景会显示成灰白相间。
sortNamedata-sort-nameStringundefined定义排序列,通过url方式获取数据填写字段名,否则填写下标。即填写 field 的自定义名称,未填写则默认都不排列。同 sortOrder 结合使用,默认递增。
sortOrderdata-sort-orderString'asc'定义排序方式,asc 或者 desc
sortStabledata-sort-stableBooleanfalse设置为 true 将获得稳定的排序,我们会添加_position属性到 row 数据中。
rememberOrderdata-remember-orderBoolean

false

设置 true 记住每个列的顺序。
iconsPrefixdata-icons-prefixString'glyphicon'定义字体库 ('Glyphicon' or 'fa' for FontAwesome),使用"fa"时需引用 FontAwesome,并且配合 icons 属性实现效果。
Glyphicon 集成于Bootstrap可免费使用,参考: http://glyphicons.com/
FontAwesome 参考: http://fortawesome.github.io/
iconSizedata-icon-sizeStringundefined定义的图标大小:
  • undefined =>默认表示默认的按钮尺寸(btn)
  • xs   =>超小按钮的尺寸(btn-xs)
  • sm  =>小按钮的尺寸(btn-sm)
  • lg    =>大按钮的尺寸(btn-lg)
buttonsClassdata-buttons-classString'default'按钮的类,默认为default。
  • 可选的有:primary、danger、warning等等
  • 写了之后会自动转换为btn-primary(蓝色)、btn-danger(红色)、btn-warning(黄色)等格式,所以前面不要再加”btn-“,默认为btn-default(白色)
  • 参考菜鸟教程:Bootstrap 按钮
iconsdata-iconsObject{
  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格式的数据。
dataFielddata-data-fieldString'rows'获取每行数据json内的key
totalFielddata-total-fieldString'total'获取total数据json内的key。
ajaxdata-ajaxFunctionundefined自定义 AJAX 方法,须实现 jQuery AJAX API。
methoddata-methodString'get'服务器数据的请求方式 'get' 或 'post'。
urldata-urlStringundefined服务器数据的加载地址。
cachedata-cacheBooleantrue设置为 false 禁用 AJAX 数据缓存。
contentTypedata-content-typeString'application/json'发送到服务器的数据编码类型。
dataTypedata-data-typeString'json'服务器返回的数据类型。
ajaxOptionsdata-ajax-optionsObject{}提交ajax请求时的附加参数,可用参数列请查看http://api.jquery.com/jQuery.ajax.
queryParamsdata-query-paramsFunction
function(params) {
return params;
}
请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果 queryParamsType = 'limit' ,返回参数必须包含
limit, offset, search, sort, order 否则, 需要包含:
pageSize, pageNumber, searchText, sortName, sortOrder.
返回false将会终止请求。
queryParamsTypedata-query-params-typeString'limit'设置为 'limit' 则会发送符合 RESTFul 格式的参数。
responseHandlerdata-response-handlerFunction
function(res) {
return res;
}
加载服务器数据之前的处理程序,可以用来格式化数据。
参数:res为从服务器请求到的数据。
paginationdata-paginationBooleanfalse设置为 true 会在表格底部显示分页条。
paginationLoopdata-pagination-loopBooleantrue设置为 true 启用分页条无限循环的功能。
onlyInfoPaginationdata-only-info-paginationBooleanfalse设置为 true 只显示总数据数,而不显示分页按钮。需要设置 pagination='true'。
sidePaginationdata-side-paginationString'client'设置在哪里进行分页,可选值为 'client' 或者 'server'。设置 'server'时,必须设置服务器数据地址(url)或者重写ajax方法。
pageNumberdata-page-numberNumber1如果设置了分页,首页页码。
pageSizedata-page-sizeNumber10如果设置了分页,页面数据条数。
pageListdata-page-listArray[10, 25, 50, 100, All]如果设置了分页,设置可供选择的页面数据条数。设置为 All 或者 Unlimited,则显示所有记录。
selectItemNamedata-select-item-nameString'btSelectItem'radio 或者 checkbox 的字段 name 名。
smartDisplaydata-smart-displayBooleantrue设置为 true 是程序自动判断显示分页信息和 card 视图。
escapedata-escapeBooleanfalse转义HTML字符串,替换 &, <, >, ", \`, 和 ' 字符。
searchdata-searchBooleanfalse默认false不显示表格右上方搜索框 ,可设为true,在搜索框内只要输入内容即开始搜索
searchOnEnterKeydata-search-on-enter-keyBooleanfalse默认false不启用,设为true启用,在搜索框内输入内容并且按下回车键才开始搜索
strictSearchdata-strict-searchBooleanfalse设为true,开启精确搜索
searchTextdata-search-textString''前提:search设为true,启用了搜索功能。
  • 搜索框初始显示的内容,默认空字符串
searchTimeOutdata-search-time-outNumber500前提:search设为true,启用了搜索功能。
  • 设置搜索文件的超时时间
trimOnSearchdata-trim-on-searchBooleantrue默认true,自动忽略空格
showHeaderdata-show-headerBooleantrue默认为true显示表头,设为false隐藏
showFooterdata-show-footerBooleanfalse默认为false隐藏表尾,设为true显示
showColumnsdata-show-columnsBooleanfalse默认为false隐藏某列下拉菜单,设为true显示
showRefreshdata-show-refreshBooleanfalse默认为false隐藏刷新按钮,设为true显示
showToggledata-show-toggleBooleanfalse默认为false隐藏视图切换按钮,设为true显示
showPaginationSwitchdata-show-pagination-switchBooleanfalse默认为false隐藏每页数据条数选择,设为true显示
showFullscreendata-show-fullscreenBooleanfalse默认为false隐藏全屏按钮,设为true显示
minimumCountColumnsdata-minimum-count-columnsNumber1每列的下拉菜单最小数
idFielddata-id-fieldStringundefined表明哪个字段是标识字段。
uniqueIddata-unique-idStringundefined表明每一行的唯一标识符。
cardViewdata-card-viewBooleanfalse默认false,设为true显示card view(卡片视图)
detailViewdata-detail-viewBooleanfalse默认false,设为true显示detail view(细节视图)
detailFormatterdata-detail-formatterFunction
function(index, row, element) {
return '';
}
前提:detailView设为true,启用了显示detail view。
  • 用于格式化细节视图
  • 返回一个字符串,通过第三个参数element直接添加到细节视图的cell(某一格)中,其中,element为目标cell的jQuery element
detailFilterdata-detail-filterFunction
function(index, row) {
return true;
} 
当detailView设置为true时,允许展开每一行。返回true,该行将启用扩展,返回false,并且将禁用该行的扩展。默认函数返回true,以便对所有行进行扩展。
searchAligndata-search-alignString'right'搜索框的位置,默认right(最右),可选left
buttonsAligndata-buttons-alignString'right'工具栏按钮的位置,默认right(最右),可选left
toolbarAligndata-toolbar-alignString'left'自定义工具栏的位置,默认left(最左),可选right
paginationVAligndata-pagination-v-alignString'bottom'分页条垂直方向的位置,默认bottom(底部),可选top、both(顶部和底部均有分页条)
paginationHAligndata-pagination-h-alignString'right'分页条水平方向的位置,默认right(最右),可选left
paginationDetailHAligndata-pagination-detail-h-alignString'left'指示如何对齐分页细节。分页细节为(显示第 1 到第 10 条记录,总共 15 条记录 每页显示 10 条记录)
paginationPreTextdata-pagination-pre-textString'‹'在分页中显示的图标,即页码前面的按钮。
paginationNextTextdata-pagination-next-textString'›'在分页中显示的图标,即页面后面的按钮。
clickToSelectdata-click-to-selectBooleanfalse默认false不响应,设为true则当点击此行的某处时,会自动选中此行的checkbox(复选框)或radiobox(单选按钮)
ignoreClickToSelectOndata-ignore-click-to-select-onFunction{ return $.inArray(element.tagName, ['A', 'BUTTON']); }采用一个参数:
  • element: 单击元素。
如果单击应该被忽略,则返回true,如果单击将导致选中该行,则为false。这个选项只有在clickToSelect是正确的时候才有用。
singleSelectdata-single-selectBooleanfalse默认false,设为true则允许复选框只选择一行
toolbardata-toolbarString | NodeundefinedjQuery的选择器,例如:#toolbar,.toolbar,或者是DOM 结点
buttonsToolbardata-buttons-toolbarString | NodeundefinedjQuery的选择器,例如:#buttons-toolbar, .buttons-toolbar,或者是DOM 结点
checkboxHeaderdata-checkbox-headerBooleantrue默认显示表头行的复选框,设为false隐藏(即表格第一行的不显示,从第二行往后都显示)
maintainSelecteddata-maintain-selectedBooleanfalse设为true则保持被选的那一行的状态
sortabledata-sortableBooleantrue默认true,设为false禁用所有列的排列(需要在th声明data-sortable=”true”)
silentSortdata-silent-sortBooleantrue设置false对数据进行静默排序。当sidePagination选项设置为server时,此选项生效。
rowStyledata-row-styleFunction{}改变某行的格式,需要两个参数:
  • row:此行的数据
  • index:此行的索引
支持classes和css,用法如下:
function rowStyle(row, index) {
  return {
    classes: 'text-nowrap another-class',
    css: {"color": "blue", "font-size": "50px"}
  };
}
rowAttributesdata-row-attributesFunction{}改变某行的属性,需要两个参数:
  • row:此行的数据
  • index:此行的索引
支持所有自定义的属性。
customSearchdata-custom-searchFunction$.noop自定义搜索功能(用来代替自带的搜索功能),需要一个参数:
  • text:想要搜索的内容
用法如下:
function customSearch(text) {
            //这里搜索逻辑。
            //必须使用 this.data 对数据进行过滤,不要使用 this.options.data
        }this.data 对数据进行过滤,不要使用 this.options.data
        }
customSortdata-custom-sortFunction$.noop自定义排序功能(用来代替自带的排序功能),需要两个参数:
  •  需要排序的列名
  • 排序方式
用法如下:
function customSort(sortName, sortOrder) {
            //Sort logic here.
            //You must use `this.data` array in order to sort the data. NO use `this.options.data`.
        }
localedata-localeStringundefined设置要使用的区域设置(即多语言设置)。区域文件必须预先加载。允许fallback,如果加载,按以下顺序:
  1. 首先尝试加载的是指定的”区域”文件
  2. 然后将’_’写成’-‘,并且区域代码要大写
  3. 然后是短区域代码(例如:用’fr’代替’fr-CA’)
  4. 最后使用的是剩下的本地化文件(当没有文件可加载则使用默认的)
如果剩余的undefined,或者是空字符,则使用最后一次使用的那个文件(当没有多语言文件可被加载,则使用自带的’en_US’)
footerStyledata-footer-styleFunction{}改变footer格式,需要两个参数:
  • row:此行的数据
  • index:此行的索引
支持classes和css,用法如下:
function footerStyle(value, row, index) {
          return {
            css: { "font-weight": "bold" }
          };
        }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

列参数


列参数定义在 jQuery.fn.bootstrapTable.columnDefaults

名称

标签

类型

默认

描述

radiodata-radioBooleanfalse是否显示单选radio
checkboxdata-checkboxBooleanfalse是否显示多选checkbox
fielddata-fieldStringundefined该列映射的data的参数名
titledata-titleStringundefined该列的表头名
titleTooltipdata-title-tooltipStringundefined该列表头的title提示文本
classclass / data-classStringundefined该列的class
rowspanrowspan / data-rowspanNumberundefined合并单元格时定义合并多少行
colspancolspan / data-colspanNumberundefined合并单元格时定义合并多少列
aligndata-alignStringundefined设置该列数据如何对齐,’left’, ‘right’, ‘center’
haligndata-halignStringundefinedtable header对齐方式, ‘left’, ‘right’, ‘center’
faligndata-falignStringundefinedtable footer对齐方式, ‘left’, ‘right’, ‘center’
valigndata-valignStringundefined单元格(cell)对齐方式. ‘top’, ‘middle’, ‘bottom’
widthdata-widthNumber {Pixels or Percentage}undefined列的宽度,可以使用像素或者百分比,不带单位则默认为px
sortabledata-sortableBooleanfalse该列是否排序(表头显示双箭头)
orderdata-orderString‘asc’该列默认的排序方式, ‘asc’ or ‘desc’.
visibledata-visibleBooleantrue该列是否可见
cardVisibledata-card-visibleBooleantrue在card视图里是否可见
switchabledata-switchableBooleantrue列切换是否可见.
clickToSelectdata-click-to-selectBooleantrue是否选中checkbox或者radio,当该列被选择时
formatterdata-formatterFunctionundefined格式化单元格内容,function(value, row, index), value:该cell本来的值,row:该行数据,index:该行序号(从0开始)
footerFormatterdata-footer-formatterFunctionundefined格式化footer内容,function(rows),rows:所有行数据
eventsdata-eventsObjectundefinedThe cell 的事件监听,当你使用formatter function的时候,有三个参数: event: the jQuery event. value: 该cell的值 row: 该行的数据index: 该行的序号
sorterdata-sorterFunctionundefined自定义字段排序函数,function(a, b)
sortNamedata-sort-nameStringundefined当列中有html等标签时,只排序实际内容(忽略标签和样式),例如字段为:”abc“,则sortName=abc
cellStyledata-cell-styleFunctionundefined单元格样式,支持css和classes,function(value, row, index)value: 该cell的值 row: 该行的数据index: 该行的序号
searchabledata-searchableBooleantrue搜索时是否搜索此列
searchFormatterdata-search-formatterBooleantrue搜索是否使用格式化后的数据(即显示在页面上的数据)

事件


使用事件的语法:

$('#table').bootstrapTable({
    onEventName: function (arg1, arg2, ...) {
        // ...
    }
});

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

Option 事件

jQuery 事件

参数

描述

onAllall.bs.tablename, args所有的事件都会触发该事件,参数包括:
name:事件名,
args:事件的参数。
onClickRowclick-row.bs.tablerow, $element当用户点击某一行的时候触发,参数包括:
row:点击行的数据,
$element:tr 元素,
field:点击列的 field 名称。
onDblClickRowdbl-click-row.bs.tablerow, $element当用户双击某一行的时候触发,参数包括:
row:点击行的数据,
$element:tr 元素,
field:点击列的 field 名称。
onClickCellclick-cell.bs.tablefield, value, row, $element当用户点击某一列的时候触发,参数包括:
field:点击列的 field 名称,
value:点击列的 value 值,
row:点击列的整行数据,
$element:td 元素。
onDblClickCelldbl-click-cell.bs.tablefield, value, row, $element当用户双击某一列的时候触发,参数包括:
field:点击列的 field 名称,
value:点击列的 value 值,
row:点击列的整行数据,
$element:td 元素。
onSortsort.bs.tablename, order当用户对某列进行排序时触发,参数包括:
name:排序列的 filed 名称,
order:排序顺序。
onCheckcheck.bs.tablerow当用户选择某一行时触发,参数包含:
        row:与点击行对应的记录,
        $element:选择的DOM元素。
onUncheckuncheck.bs.tablerow当用户反选某一行时触发,参数包含:
row:与点击行对应的记录,
        $element:选择的DOM元素。
onCheckAllcheck-all.bs.tablerows当用户全选所有的行时触发,参数包含:
rows:最新选择的所有行的数组。
onUncheckAlluncheck-all.bs.tablerows当用户反选所有的行时触发,参数包含:
rows:最新选择的所有行的数组。
onCheckSomecheck-some.bs.tablerows当用户选择某些行时触发,参数包含:
rows:相对于之前选择的行的数组。
onUncheckSomeuncheck-some.bs.tablerows当用户反选某些行时触发,参数包含:
rows:相对于之前选择的行的数组。
onLoadSuccessload-success.bs.tabledata远程数据加载成功时触发成功。
onLoadErrorload-error.bs.tablestatus远程数据加载失败时触发成功。
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在表格 body 渲染之前触发。
onPostBodypost-body.bs.tablenone在表格 body 渲染完成后触发。
onPostHeaderpost-header.bs.tablenone在表格 header 渲染完成后触发。
onExpandRowexpand-row.bs.tableindex, row, $detail当点击详细图标展开详细页面的时候触发。
onCollapseRowcollapse-row.bs.tableindex, row当点击详细图片收起详细页面的时候触发。
onRefreshOptionsrefresh-options.bs.tableoptions刷新选项之后并在销毁和初始化表之前触发。
onRefreshrefresh.bs.tableparams点击刷新按钮后触发。
onScrollBodyscroll-body.bs.table 表格 body 滚动时触发。

方法


使用方法的语法:$('#table').bootstrapTable('method', parameter);

名称

参数

描述

例子

getOptionsnone返回表格的 Options。查看
getSelectionsnone返回所选的行,当没有选择任何行的时候返回一个空数组。查看
getAllSelectionsnone返回所有选择的行,包括搜索过滤前的,当没有选择任何行的时候返回一个空数组。查看
getDatauseCurrentPage或者当前加载的数据。假如设置 useCurrentPage 为 true,则返回当前页的数据。查看
getRowByUniqueIdid根据 uniqueId 获取行数据。查看
loaddata加载数据到表格中,旧数据会被替换。查看
showAllColumnsnone显示所有列。 
hideAllColumnsnone隐藏所有列。 
appenddata添加数据到表格在现有数据之后。查看
prependdata插入数据到表格在现有数据之前。查看
removeparams从表格中删除数据,包括两个参数: field: 需要删除的行的 field 名称,
values: 需要删除的行的值,类型为数组。
查看
removeAll-删除表格所有数据。查看
removeByUniqueIdid根据 uniqueId 删除指定的行。查看
insertRowparams插入新行,参数包括:
index: 要插入的行的 index,
row: 行的数据,Object 对象。
 
updateRowparams更新指定的行,参数包括:
index: 要更新的行的 index,
row: 行的数据,Object 对象。
 
showRowparams显示指定的行,参数包括:
index: 要更新的行的 index 或者 uniqueId,
isIdField: 指定 index 是否为 uniqueid。
 
hideRowparams显示指定的行,参数包括:
index: 要更新的行的 index,
uniqueId: 或者要更新的行的 uniqueid。
 
getHiddenRowsshow获取所有隐藏的行,如果show参数为true,行将再次显示,否则,只返回隐藏的行。 
mergeCellsoptions将某些单元格合并到一个单元格,选项包含以下属性:
index: 行索引,
field: 字段名称,
rowspan: 要合并的rowspan数量,
colspan: 要合并的colspan数量。
 
updateCellparams更新一个单元格,params包含以下属性:
index: 行索引。
field: 字段名称。
value: 新字段值。
 
refreshparams刷新远程服务器数据,可以设置{silent: true}以静默方式刷新数据,并设置{url: newUrl}更改URL。 要提供特定于此请求的查询参数,请设置{query: {foo: 'bar'}} 
refreshOptionsoptions刷新选项。 
resetSearchtext设置搜索文本。 
showLoadingnone显示加载状态。 
hideLoadingnone隐藏加载状态。 
checkAllnone选中当前页面所有行。 
uncheckAllnone取消选中当前页面所有行。 
checkindex选中某一行,行索引从0开始。 
uncheckindex取消选中某一行,行索引从0开始。 
checkByparams按值或数组选中某行,参数包含:
field: 用于查找记录的字段的名称,
values: 要检查的行的值数组。
例子:
$("#table").bootstrapTable("checkBy", {field:"field_name", values:["value1","value2","value3"]})
 
uncheckByparams按值数组取消选中某行,参数包含:
field: 用于查找记录的字段的名称,
values: 要检查的行的值数组。
例子:
$("#table").bootstrapTable("uncheckBy", {field:"field_name", values:["value1","value2","value3"]})
 
resetViewparams重置引导表视图,例如重置表高度。 
resetWidthnone调整页眉和页脚的大小以适合当前列宽度。 
destroynone销毁表。 
showColumnfield显示指定的列。 
hideColumnfield隐藏指定的列。 
getHiddenColumns-获取隐藏的列。 
getVisibleColumns-获取可见列。 
scrollTovalue滚动到指定位置,单位为 px,设置 'bottom' 表示跳到最后。 
getScrollPositionnone获取当前滚动条的位置,单位为 px。 
filterByparams(只能用于 client 端)过滤表格数据, 你可以通过过滤{age: 10}来显示 age 等于 10 的数据。 
selectPagepage跳到指定的页。 
prevPagenone跳到上一页。 
nextPagenone跳到下一页。 
togglePaginationnone切换分页选项。 
toggleViewnone切换 card/table 视图 
expandRowindex如果详细视图选项设置为True,可展开索引为 index 的行。 
collapseRowindex如果详细视图选项设置为True,可收起索引为 index 的行。. 
expandAllRowsnone如果详细视图选项设置为True,可展开所有行。 
collapseAllRowsnone如果详细视图选项设置为True,可收起开所有行。 

多语言


名称

参数

默认

formatLoadingMessage-'Loading, please wait…'
“加载,请稍候……”
formatRecordsPerPagepageNumber'%s records per page'
“%s 每页记录”
formatShowingRowspageFrom, pageTo, totalRows'Showing %s to %s of %s rows'
“显示%s到%s行”
formatDetailPaginationtotalRows'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']);
// ...
 类似资料: