bootstrap table表格属性、列属性、事件、方法

时间:2022-08-12 12:42:54

留存一份,原文地址http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

表格参数


表格的参数定义在 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方式获取数据填写字段名,否则填写下标。
sortOrder data-sort-order String 'asc' 定义排序方式,'asc' 或者 'desc'。
sortStable data-sort-stable Boolean false 设置为 true 将获得稳定的排序,我们会添加\_position属性到 row 数据中。
iconsPrefix data-icons-prefix String 'glyphicon' 定义字体库 ('Glyphicon' or 'fa' for FontAwesome),使用"fa"时需引用 FontAwesome,并且配合 icons 属性实现效果。
Glyphicon 集成于Bootstrap可免费使用,参考: http://glyphicons.com/
FontAwesome 参考: http://fortawesome.github.io/
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格式的数据。
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 function(params) {
return params;
}
请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 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 function(res) {
return res;
}
加载服务器数据之前的处理程序,可以用来格式化数据。
参数: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 是否启用搜索框。
searchOnEnterKey data-search-on-enter-key Boolean false 设置为 true时,按回车触发搜索方法,否则自动触发搜索方法。
strictSearch data-strict-search Boolean false 设置为 true启用全匹配搜索,否则为模糊搜索。
searchText data-search-text String '' 初始化搜索文字。
searchTimeOut data-search-time-out Number 500 设置搜索超时时间。
trimOnSearch data-trim-on-search Boolean true 设置为 true 将自动去掉搜索字符的前后空格。
showHeader data-show-header Boolean true 是否显示列头。
showFooter data-show-footer Boolean false 是否显示列脚。
showColumns data-show-columns Boolean false 是否显示内容列下拉框。
showRefresh data-show-refresh Boolean false 是否显示刷新按钮。
showToggle data-show-toggle Boolean false 是否显示切换视图(table/card)按钮。
showPaginationSwitch data-show-pagination-switch Boolean false 是否显示切换分页按钮。
showFullscreen data-show-fullscreen Boolean false 是否显示全屏按钮。
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 设置为 true将显示card视图,适用于移动设备。否则为table试图,适用于pc端。
detailView data-detail-view Boolean false 设置为 true 可以显示详细页面模式。
detailFormatter data-detail-formatter Function function(index, row) {
return '';
}
格式化详细页面模式的视图。
searchAlign data-search-align String 'right' 指定 搜索框 水平方向的位置。'left' 或 'right'。
buttonsAlign data-buttons-align String 'right' 指定 按钮栏 水平方向的位置。'left' 或 'right'。
toolbarAlign data-toolbar-align String 'left' 指定 toolbar 水平方向的位置。'left' 或 'right'。
paginationVAlign data-pagination-v-align String 'bottom' 指定 分页条 在垂直方向的位置。'top','bottom' 或 'both'。
paginationHAlign data-pagination-h-align String 'right' 指定 分页条 在水平方向的位置。'left' 或 'right'。
paginationDetailHAlign data-pagination-detail-h-align String 'left' 指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
paginationPreText data-pagination-pre-text String '<' 指定分页条中上一页按钮的图标或文字。
paginationNextText data-pagination-next-text String '>' 指定分页条中下一页按钮的图标或文字。
clickToSelect data-click-to-select Boolean false 设置 true 将在点击行时,自动选择 rediobox 和 checkbox。
ignoreClickToSelectOn data-ignore-click-to-select-on Function { return $.inArray(element.tagName, ['A', 'BUTTON']); } 包含一个参数:
element: 点击的元素。
返回 true 是点击事件会被忽略,返回 false 将会自动选中。该选项只有在 clickToSelect 为 true 时才生效。
singleSelect data-single-select Boolean false 设置 true 将禁止多选。
toolbar data-toolbar String undefined 一个jQuery 选择器,指明自定义的 toolbar。例如:
#toolbar, .toolbar.
buttonsToolbar data-buttons-toolbar String | Node undefined 一个jQuery 选择器,指明自定义的 buttons toolbar。例如:
    #buttons-toolbar, .buttons-toolbar 或 DOM 节点。
checkboxHeader data-checkbox-header Boolean true 设置 false 将在列头隐藏全选复选框。
maintainSelected data-maintain-selected Boolean false 设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项。
sortable data-sortable Boolean true 设置为false 将禁止所有列的排序。
silentSort data-silent-sort Boolean true 设置为 false 将在点击分页按钮时,自动记住排序项。仅在 sidePagination设置为 server时生效。
rowStyle data-row-style Function function(row,index) {
return class;
}
自定义行样式 参数为:
row: 行数据
index: 行下标
返回值可以为class或者css
rowAttributes data-row-attributes Function function(row,index) {
return attributes;
}
自定义行属性 参数为:
row: 行数据
index: 行下标
返回值可以为class或者css 支持所有自定义属性
customSearch data-custom-search Function $.noop 自定义搜索方法来替代内置的搜索功能,它包含一个参数:
        text:搜索文字。
用法示例:
        function customSearch(text) {
//Search logic here.
//You must use `this.data` array in order to filter the data. NO use `this.options.data`.
}
customSort data-custom-sort Function $.noop 自定义排序方法来替代内置的搜索功能,它包含一个参数:
sortName: 排序名。
sortOrder: 排序顺序。
用法示例:
        function customSort(sortName, sortOrder) {
//Sort logic here.
//You must use `this.data` array in order to sort the data. NO use `this.options.data`.
}

列参数


The column options is defined in jQuery.fn.bootstrapTable.columnDefaults.

Name Attribute Type Default Description
radio data-radio Boolean false True to show a radio. The radio column has fixed width.
checkbox data-checkbox Boolean false True to show a checkbox. The checkbox column has fixed width.
field data-field String undefined The column field name.
title data-title String undefined The column title text.
titleTooltip data-title-tooltip String undefined The column title tooltip text. This option also support the title HTML attribute
class class / data-class String undefined The column class name.
rowspan rowspan / data-rowspan Number undefined Indicate how many rows a cell should take up.
colspan colspan / data-colspan Number undefined Indicate how many columns a cell should take up.
align data-align String undefined Indicate how to align the column data. 'left', 'right', 'center' can be used.
halign data-halign String undefined Indicate how to align the table header. 'left', 'right', 'center' can be used.
falign data-falign String undefined Indicate how to align the table footer. 'left', 'right', 'center' can be used.
valign data-valign String undefined Indicate how to align the cell data. 'top', 'middle', 'bottom' can be used.
width data-width Number {Pixels or Percentage} undefined The width of column. If not defined, the width will auto expand to fit its contents. Also you can add '%' to your number and the bootstrapTable will use the percentage unit, otherwise, you can add or no the 'px' to your number and then the bootstrapTable will use the pixels
sortable data-sortable Boolean false True to allow the column can be sorted.
order data-order String 'asc' The default sort order, can only be 'asc' or 'desc'.
visible data-visible Boolean true False to hide the columns item.
cardVisible data-card-visible Boolean true False to hide the columns item in card view state.
switchable data-switchable Boolean true False to disable the switchable of columns item.
clickToSelect data-click-to-select Boolean true True to select checkbox or radiobox when the column is clicked.
formatter data-formatter Function undefined The context (this) is the column Object. 
The cell formatter function, take three parameters: 
value: the field value. 
row: the row record data.
index: the row index.
footerFormatter data-footer-formatter Function undefined The context (this) is the column Object. 
The function, take one parameter: 
data: Array of all the data rows. 
the function should return a string with the text to show in the footer cell.
events data-events Object undefined The cell events listener when you use formatter function, take three parameters: 
event: the jQuery event. 
value: the field value. 
row: the row record data.
index: the row index.
sorter data-sorter Function undefined The custom field sort function that used to do local sorting, take two parameters: 
a: the first field value.
b: the second field value.
rowA: the first row.
rowB: the second row.
sortName data-sort-name String undefined Provide a customizable sort-name, not the default sort-name in the
header, or the field name of the column. For example, a column might
display the value of fieldName of "html" such as "<b><span
>abc</span></b>", but a fieldName to sort is "content"
with the value of "abc".
cellStyle data-cell-style Function undefined The cell style formatter function, take three parameters: 
value: the field value.
row: the row record data.
index: the row index.
field: the row field.
Support classes or css.
searchable data-searchable Boolean true True to search data for this column.
searchFormatter data-search-formatter Boolean true True to search use formated data.
escape data-escape Boolean false Escapes a string for insertion into HTML, replacing &, <, >, ", \`, and ' characters.
showSelectTitle data-show-select-title Boolean false True to show the title of column with 'radio' or 'singleSelect' 'checkbox' option.

事件


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。 getOptions
getSelections none 返回所选的行,当没有选择任何行的时候返回一个空数组。 getSelections
getAllSelections none 返回所有选择的行,包括搜索过滤前的,当没有选择任何行的时候返回一个空数组。 getAllSelections
getData useCurrentPage 或者当前加载的数据。假如设置 useCurrentPage 为 true,则返回当前页的数据。 getData
getRowByUniqueId id 根据 uniqueId 获取行数据。 getRowByUniqueId
load data 加载数据到表格中,旧数据会被替换。 load
showAllColumns none 显示所有列。 showAllColumns
hideAllColumns none 隐藏所有列。 hidAllColumns
append data 添加数据到表格在现有数据之后。 append
prepend data 插入数据到表格在现有数据之前。 prepend
remove params 从表格中删除数据,包括两个参数: field: 需要删除的行的 field 名称,
values: 需要删除的行的值,类型为数组。
remove
removeAll - 删除表格所有数据。 removeAll
removeByUniqueId id 根据 uniqueId 删除指定的行。 removeByUniqueId
insertRow params 插入新行,参数包括:
index: 要插入的行的 index,
row: 行的数据,Object 对象。
insertRow
updateRow params 更新指定的行,参数包括:
index: 要更新的行的 index,
row: 行的数据,Object 对象。
updateRow
showRow params 显示指定的行,参数包括:
index: 要更新的行的 index 或者 uniqueId,
isIdField: 指定 index 是否为 uniqueid。
showRow-hideRow
hideRow params 显示指定的行,参数包括:
index: 要更新的行的 index,
uniqueId: 或者要更新的行的 uniqueid。
showRow-hideRow
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,可收起开所有行。

多语言


Name Parameter Default
formatLoadingMessage - 'Loading, please wait…'
formatRecordsPerPage pageNumber '%s records per page'
formatShowingRows pageFrom, pageTo, totalRows 'Showing %s to %s of %s rows'
formatDetailPagination totalRows 'Showing %s rows'
formatSearch - 'Search'
formatNoMatches - 'No matching records found'
formatRefresh - 'Refresh'
formatToggle - 'Toggle'
formatColumns - 'Columns'
formatAllRows - 'All'
formatFullscreen - 'Fullscreen'

PS:

We can import all locale files what you need:

<script src="bootstrap-table-en-US.js"></script>
<script src="bootstrap-table-zh-CN.js"></script>
...

And then use JavaScript to switch locale:

$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
// $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
// ...