表格插件-BootStrapTable

屬性 (Options)

基本使用

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

表的各項(Table options )

定義在 jQuery.fn.bootstrapTable.defaults 文件內
名稱 類型 默認值 做用描述
height Number 表格的高度
undefinedText String - 當不寫任何內容默認顯示'-'
striped Boolean false 默認false,當設爲true,則每行表格的背景會顯示灰白相間
sortName String 定義哪一列的值會被排序
sortOrder String asc 默認遞增(asc),也可設爲遞減(desc)
sortStable Boolean false
iconsPrefix String glyphicon
iconSize String 定義的圖標大小:<br/>- undefined =>默認表示默認的按鈕尺寸(btn)<br/>- xs =>超小按鈕的尺寸(btn-xs)<br/>- sm =>小按鈕的尺寸(btn-sm)<br/>- lg =>大按鈕的尺寸(btn-lg)
buttonsClass String 默認爲default 按鈕的類,- 可選的有:primary、danger、warning等<br/> 參考:Bootstrap 按鈕
columns Array []
data Array [] 被加載的數據
method String get 向服務器請求遠程數據的方式
url String 向服務器請求的url
cache Boolean true 默認緩存ajax請求,設爲false則禁用緩存
dataType String json 指望從服務器獲取的數據的類型
ajaxOptions Object {} 向服務器請求ajax時的附加項
queryParams Function 當請求數據時,你能夠經過修改queryParams向服務器發送其他的參數。 <br/>- queryParamsType <br/> - params包括:pageSize,pageNumber,searchText,sortName,sortOrder<br/> - 當return false,請求則終止
queryParamsType String limit 參數包括:limit,offset,search,sort,order Else
pagination Boolean false 默認爲false,表格的底部工具欄不會顯示分頁條
paginationLoop Boolean true 默認true,分頁條無限循環
pageNumber Number 1 用於設置初始的頁數,默認第1頁
pageSize Number 10 用於設置每頁初始顯示的條數,默認每頁顯示10條記錄
pageList Array [10, 25, 50, 100] 用於設置選擇每頁顯示的條數
selectItemName String btSelectItem radio或checkbox的字段名btSelectItem
search Boolean false 在搜索框內輸入內容而且按下回車鍵纔開始搜索
strictSearch Boolean false 設爲true,開啓精確搜索
searchText String 搜索框初始顯示的內容,默認空字符串
showHeader Boolean true 默認爲true顯示錶頭,設爲false隱藏
showFooter Boolean false 默認爲false隱藏表尾,設爲true顯示
showColumns Boolean false 默認爲false隱藏某列下拉菜單,設爲true顯示
showRefresh Boolean false 默認爲false隱藏刷新按鈕,設爲true顯示
showToggle Boolean false 默認爲false隱藏視圖切換按鈕,設爲true顯示
showPaginationSwitch Boolean false 默認爲false隱藏每頁數據條數選擇,設爲true顯示
minimumCountColumns Number 1 每列的下拉菜單最小數
idField String 代表哪一個是字段是標識字段
uniqueId String 代表每行惟 一的標識符
cardView Boolean false 默認false,設爲true顯示card view(卡片視圖)
detailView Boolean false 默認false,設爲true顯示detail view(細節視圖)
searchAlign String right 索框的位置,默認right(最右),可選left
buttonsAlign String right 工具欄按鈕的位置,默認right(最右),可選left
toolbarAlign String left 自定義工具欄的位置,默認right(最右),可選left
paginationVAlign String bottom 分頁條垂直方向的位置,<br/>默認bottom(底部),可選top、both(頂部和底部均有分頁條)
paginationHAlign String right 分頁條水平方向的位置,默認right(最右),可選left
singleSelect Boolean false 默認false,設爲true則容許複選框僅選擇一行
toolbar String or Node
checkboxHeader Boolean true 設爲false則表格第一行的不顯示,從第二行日後都顯示

列的各項(Column options )

定義在 jQuery.fn.bootstrapTable.columnDefaults 文件內
名稱 類型 默認值 做用描述
radio Boolean false 默認false不顯示radio,<br/>設爲true則顯示,radio寬度是固定的
checkbox Boolean false 默認false不顯示checkbox,<br/>設爲true則顯示,checkbox的每列寬度已固定
field String 是每列的字段名,表內惟一
title String 這個是表頭所顯示的名字,不惟一
titleTooltip String 當懸浮在某控件上,出現提示 <br/>- 參考 Bootstrap 提示工具(Tooltip)插件
rowspan Number 每格所佔的行數
colspan Number 每格所佔的列數
align String 每格內數據的對齊方式,有:<br/>left、<br/>right、<br/>center
halign String table header(表頭)的對齊方式,有:<br/>left、<br/>right、<br/>center
falign String table footer(表腳)的對齊方式,有:<br/>left、<br/>right、<br/>center
valign String 每格數據的對齊方式,有:<br/>top、<br/>middle(居中)、<br/>bottom
width Number(單位:px或%) 每列的寬度。<br/>若是沒有自定義寬度,那麼會根據內容的寬度自適應。<br/>可使用"%"做爲單位,bootstapTable將按百分比劃分
sortable Boolean false 默認false就默認顯示,設爲true則會被排序
order String asc 默認的排序方式爲"asc",也能夠設爲"desc"。<br/> - 與sortable的結合使用
visible Boolean true 默認爲true顯示該列,設爲false則隱藏該列
cardVisible Boolean true 默認爲true顯示該列,設爲false則隱藏。
switchable Boolean true 默認爲true顯示該列,設爲false則禁用列項目的選項卡
clickToSelect Boolean true 默認true,不響應,設爲false;<br/>當點擊此行時,不會自動選中此行的checkbox或radiobox
formatter Function 某格的數據轉換函數,須要三個參數:<br/>- value: field(字段名) <br/>- row:行的數據 <br/>- index:行的(索引)index
footerFormatter Function 某格的數據轉換函數,須要一個參數:<br/>- data: 全部行數據的數組
events Object 當某格使用formatter函數時,事件監聽會響應,須要四個參數: <br/>- event:jQuery事件(參考Events) <br/> - value:字段名 <br/>- row:行數據 <br/> - index:此行的index
cellStyle Function 對某格中顯示樣式進行設置,須要四個函數:<br/>- value:字段名 <br/>- row:行數據 <br/>- index:此行的index <br/> - field:行的字段名
searchable Boolean true 默認true,表示此列數據可被查詢
searchFormatter Boolean true 默認true,可以使用格式化的數據查詢
escape Boolean false 跳過插入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事件 參數 做用描述
onAll all.bs.table name, args 任何事件觸發都會同時觸發該事件, 包含2個參數<br/>name: 事件名稱<br/>args: 事件參數
onClickRow click-row.bs.table row, $element,field 當點擊某一行時觸發,包含3個參數 <br/>row:點擊行的數據(從0開始)<br/>$element: 對應的tr元素<br/> field:所點擊的單元格對應的列名稱<br/>
onDblClickRow dbl-click-row.bs.table row, $element, field 當雙擊擊某一行時觸發,包含3個參數 <br />row: 點擊行的數據 <br />$element: 對應的tr元素 <br />field:所點擊的單元格對應的列名稱
onClickCell click-cell.bs.table field, value, row, $element 當點擊某一個單元格時觸發,包含4個參數 <br />field: 所點擊的單元格對應的列名稱 <br />value: 所點擊的單元格對應列的值 <br />row:單元格所在行數據 <br />$element: 對應的td元素
onDblClickCell dbl-click-cell.bs.table field, value, row, $element 當雙擊某一個單元格時觸發,包含4個參數 <br/>field: 所點擊的單元格對應的列名稱 <br />value: 所點擊的單元格對應列的值 <br />row:單元格所在行數據 <br />$element: 對應的td元素
onSort sort.bs.table name,order 當用戶點擊列頭對某一列進行排序時觸發,包含2個參數<br/>name: 排序的列名稱 <br />order: 排序方式
onCheck check.bs.table row, $element 當用戶選中一行時觸發,包含2個參數<br />row: 所選中行的行數據<br/>$element: 選中的<input>元素
onUncheck uncheck.bs.table row,$element 當用戶取消選中一行時觸發,包含2個參數<br/>row: 所取消選中的行數據<br/>$element: 選中的<input>元素
onCheckAll check-all.bs.table rows 當用戶點擊全選框時觸發,包含1個參數 <br />rows: 選中的行數據數組
onUncheckAll uncheck-all.bs.table rows 當用戶點擊全選框取消選擇時觸發,包含1個參數 <br/>rows: 取消選中的行數據數組
onCheckSome check-some.bs.table rows 當用戶選中某些行時觸發,包含1個參數 <br />rows: 選中的行數據數組
onUncheckSome uncheck-some.bs.table rows 當用戶取消選中某些行時觸發,包含1個參數 <br/>rows: 取消選中的行數據數組
onLoadSuccess load-success.bs.table data 當遠程數據被加載完成後觸發
onLoadError load-error.bs.table status, res 當遠程數據被加載出錯後觸發
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 在對錶格體進行渲染前觸發
onPostBody post-body.bs.table data 在表格體渲染完成,並在 DOM 中可見後觸發
onPostHeader post-header.bs.table none 在表格列頭渲染完成,並在 DOM 中可見後觸發
onExpandRow expand-row.bs.table index, row, $detail 當點擊詳情按鈕展開詳情視圖時觸發
onCollapseRow collapse-row.bs.table index, row 當點擊關閉詳情按鈕收起詳情視圖時觸發
onRefreshOptions refresh-options.bs.table options 在銷燬當前表格並從新初始化新表格以前觸發
onResetView reset-view.bs.table 當重置表格視圖時觸發
onRefresh refresh.bs.table params 當點擊刷新按鈕對錶格進行刷新時觸發
onScrollBody scroll-body.bs.table 當對錶格體進行滾動時觸發

方法(Methods)

定義方法響應的語法:

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

方法列表說明

方法名 參數 描述
getOptions 獲取表格的參數 <br/> - 請查看: getOptions
getSelections 獲取當前被選中的行,當沒有行被選擇,則返回長度爲0的空數組 <br/> - 請查看: getSelections
getAllSelections 獲取當前被選中的行數據,包含搜索和過濾前的,當沒有行被選擇,則返回空數組 <br/> - 請查看: getAllSelections
showAllColumns 展現全部列
hideAllColumns 隱藏全部列
getData useCurrentPage 獲取當前表格中加載的數據,參數useCurrentPage爲true 將返回當前頁內的數據 <br/> - 請查看: getData
getRowByUniqueId id 根據惟一ID獲取行數據 <br/> - 請查看: getRowByUniqueId
load data 向表中加載新數據,原來的數據將被移除 <br/> - 請查看: load
append data 將新數據追加到表格末尾 <br/> - 請查看: append
prepend data 將新數據插入到表格頭部 <br/> - 請查看: prepend
remove params 從表格中移除列名爲指定值的數據,包含2個參數<br />field: 列名 <br />values: 列名取值數組 <br/> - 請查看: remove
removeAll 移除表格中的全部數據 <br/>- 請查看: removeAll
removeByUniqueId id 根據惟一ID移除行數據 <br/>- 請查看: removeByUniqueId
insertRow params 插入多個新行到指定位置,每一行包含如下參數<br/>index:要插入到行的索引<br/>row: 要插入的行數據 <br/> - 請查看: insertRow
updateRow params 更新指定的行,每一行包含如下參數<br/>index:要插入到行的索引<br/>row: 要插入的行數據 <br/> - 請查看: updateRow
updateByUniqueId params 根據惟一ID更新行數據每一行包含如下參數<br/>id: 惟一ID<br/>row: 新的行數據 <br/> - 請查看: updateByUniqueId
showRow params 顯示指定行,至少需包含如下任意參數<br/>index:行索引<br/>uniqueId:行惟一ID <br/> - 請查看: showRow/hideRow
hideRow params 隱藏指定行,至少需包含如下任意參數<br/>index:行索引 <br/> - 請查看: showRow/hideRow
getHiddenRows boolean 獲取全部隱藏的行數據,當參數爲 true 會將隱藏行進行顯示 <br/> - 請查看: getHiddenRows
mergeCells options 合併多個單元格,包含如下參數<br/>index: 行索引<br/>field: 列名稱<br/>rowspan: 合併多少行<br/>colspan: 合併多少列 <br/> - 請查看: mergeCells
updateCell params 更新一個單元格數據,包含如下參數<br/>index: 行索引<br/>field: 列名稱<br/>value: 新列值<br/>禁止表格從新初始化需添加參數{reinit: false}
refresh params 從新加載遠程數據,能夠設置{silent: true}靜默加載數據,<br/>設置{url: newUrl, pageNumber: pageNumber, pageSize: pageSize}改變數據請求地址和分頁參數,<br/>請求參數經過 {query: {foo: 'bar'}} 修改 <br/> 請查看: refresh
refreshOptions options 刷新表格的參數<br/>- 請查看: refreshOptions
resetSearch text 設置搜索內容<br/> - 請查看: resetSearch
showLoading 顯示數據加載狀態提示<br/> - 請查看: showLoading/hideLoading
hideLoading 隱藏數據加載狀態提示<br/> - 請查看: showLoading/hideLoading
checkAll 選中當前頁的全部行<br/> - 請查看: checkAll/uncheckAll
uncheckAll 取消選中當前頁的全部行<br/> - 請查看: checkAll/uncheckAll
checkInvert 對當前頁內行數據進行反選,會觸發onCheckSome 和 onUncheckSome 事件
check index 選中某一行,索引從0開始<br/> - 請查看: checkAll/uncheckAll
uncheck index 取消選中某一行,索引從0開始<br/> - 請查看: checkAll/uncheckAll
checkBy params 根據列名選則行數據<br/>field: 列名稱<br/>values:列取值數組<br/>$("#table").bootstrapTable("checkBy",{field:"field_name",values:["value1","value2","value3"]})
uncheckBy params 根據列名取消選中行數據<br/>field: 列名稱<br/>values:列取值數組<br/>$("#table").bootstrapTable("uncheckBy", {field:"field_name",values:["value1","value2","value3"]})
resetView params 重置表格視圖
resetWidth 從新設置列頭和列尾的寬度去適應當前列的寬度
destroy 銷燬表格<br/>- 請查看: destroy
showColumn field 顯示指定列<br/> - 請查看: showColumn/hideCoulumn
hideColumn field 隱藏指定列<br/> - 請查看: showColumn/hideCoulumn
getHiddenColumns 獲取隱藏的列
getVisibleColumns 獲取可見的列
scrollTo value 使滾動條滾動到指定位置,單位像素,'bottom' 滾動條滾動到底<br/> - 請查看: scrollTo
getScrollPosition 獲取當前滾動條的位置,單位像素
filterBy params 在client模式下,對錶格數據進行過濾,語法示例以下<br/>{age: 10, hairColor: ["blue", "red", "green"]}
selectPage page 跳轉到指定頁<br/>- 請查看: selectPage/prevPage/nextPage
prevPage 上一頁<br/>- 請查看: selectPage/prevPage/nextPage
nextPage 下一頁<br/>- 請查看: selectPage/prevPage/nextPage
togglePagination 切換分頁參數<br/> - 請查看: togglePagination
toggleView 切換 card/table 視圖<br/>- 請查看: toggleView
expandRow index 當詳細視圖設置爲True時,展開指定索引的行的詳細視圖<br/> - 請查看: expandRow-collapseRow
collapseRow index 當詳細視圖設置爲True時,收起指定索引的行的詳細視圖<br/> - 請查看: expandRow-collapseRow
expandAllRows is subtable 當詳細視圖設置爲True時,展開全部行的詳細視圖
collapseAllRows is subtable 當詳細視圖設置爲True時,收起全部行的詳細視圖
updateCellById params 根據惟一ID更新指定單元格,包含如下參數<br/>id: 惟一ID<br/>field: 要更新的列的列名稱<br/>value: 新值

語言

須要在頁面中引入全部須要的本地化腳本html

<script src="bootstrap-table-en-US.js"></script><script src="bootstrap-table-zh-CN.js"></script>
名稱 參數 默認值 描述
formatLoadingMessage 'Loading, please wait…' "加載中,請等待……"
formatRecordsPerPage pageNumber '%s records per page' "每頁顯示 pageNumber 條記錄"
formatShowingRows pageFrom, pageTo, totalRows 'Showing %s to %s of %s rows' "顯示第 from 到第 to 條記錄 totalRows"
formatDetailPagination totalRows 'Showing %s rows' 「總共 totalRows 條記錄"
formatSearch 'Search' "搜索"
formatNoMatches 'No matching records found' 「沒有找到匹配的記錄」
formatRefresh 'Refresh' "刷新"(鼠標懸浮顯示的文字)
formatToggle 'Toggle' "切換"(鼠標懸浮顯示的文字)
formatColumns 'Columns' "列"(鼠標懸浮顯示的文字)
formatAllRows 'All'
formatFullscreen 'Fullscreen'
相關文章
相關標籤/搜索