亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS組件系列之Bootstrap table表格組件神器【二、父子表和行列調序】

2019-11-20 10:06:57
字體:
來源:轉載
供稿:網友

Bootstrap Table是輕量級的和功能豐富的以表格的形式顯示的數據,支持單選,復選框,排序,分頁,顯示/隱藏列,固定標題滾動表,響應式設計,Ajax加載JSON數據,點擊排序的列,卡片視圖等。今天就結合Bootstrap table的父子表和行列調序的用法再來介紹下它稍微高級點的用法。

bootstrap table系列:

JS表格組件神器bootstrap table詳解(基礎版)

JS組件系列之Bootstrap table表格組件神器【終結篇】

JS組件系列之Bootstrap table表格組件神器【二、父子表和行列調序】

一、效果展示

今天稍微改變下方式,先來看看實現效果,后面再介紹代碼實現及注意事項。來,效果圖來一發:

1、父子表效果圖

2、行調序

調序前

拖動行調序到第一行

3、列調序

調序前

拖動列標題調序

調序后

二、父子表代碼詳解

上章我們介紹Bootstrap table基礎用法的時候介紹過,初始化表格的時候有一個屬性“detailView”,將它設置為true,在每行的前面即可看到一個“+”形狀的圖標。點擊這個圖標即觸發加載子表格的事件。大概的原理就是如此,來看看代碼,其實也很簡單。

1、初始化表格,注冊行展開事件

$("#tb_powerset").bootstrapTable({url: '/api/MenuApi/GetParentMenu',method: 'get',detailView: true,//父子表//sidePagination: "server",pageSize: 10,pageList: [10, 25],columns: [{field: 'MENU_NAME',title: '菜單名稱'}, {field: 'MENU_URL',title: '菜單URL'}, {field: 'PARENT_ID',title: '父級菜單'}, {field: 'MENU_LEVEL',title: '菜單級別'}, ],//注冊加載子表的事件。注意下這里的三個參數!onExpandRow: function (index, row, $detail) {oInit.InitSubTable(index, row, $detail);}}); 

還是來看看子表加載事件onExpandRow對應方法function (index, row, $detail)的三個參數,

index:父表當前行的行索引。

row:父表當前行的Json數據對象。

$detail:當前行下面創建的新行里面的td對象。

第三個參數尤其重要,因為生成的子表的table在裝載在$detail對象里面的。bootstrap table為我們生成了$detail這個對象,然后我們只需要往它里面填充我們想要的table即可。

2、我們來看oInit.InitSubTable()這個方法

//初始化子表格(無線循環)oInit.InitSubTable = function (index, row, $detail) {var parentid = row.MENU_ID;var cur_table = $detail.html('<table></table>').find('table');$(cur_table).bootstrapTable({url: '/api/MenuApi/GetChildrenMenu',method: 'get',queryParams: { strParentID: parentid },ajaxOptions: { strParentID: parentid },clickToSelect: true,detailView: true,//父子表uniqueId: "MENU_ID",pageSize: 10,pageList: [10, 25],columns: [{checkbox: true}, {field: 'MENU_NAME',title: '菜單名稱'}, {field: 'MENU_URL',title: '菜單URL'}, {field: 'PARENT_ID',title: '父級菜單'}, {field: 'MENU_LEVEL',title: '菜單級別'}, ],//無線循環取子表,直到子表里面沒有記錄onExpandRow: function (index, row, $Subdetail) {oInit.InitSubTable(index, row, $Subdetail);}});}; 

由此可以看出生成子表的原理就是創建一個table對象cur_table,然后再注冊這個對象的表格初始化即可。是不是很簡單~~

三、行調序代碼詳解

行調序的代碼就更簡單了,來看看。

1、需要額外引用兩個js文件

<script src="~/Content/jquery-ui-1.11.4.custom/external/jquery.tablednd.js"></script><script src="~/Content/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js"></script> 

2、在cshtml頁面定義表格時,添加兩個屬性

<table id="tb_order" data-use-row-attr-func="true" data-reorderable-rows="true"></table> 

然后js表格初始化的時候不需要做任何修改,加載出來的表格即可實現行調序的功能。

四、列調序代碼詳解

和行調序類似。列調序的使用如下:

1、額外引用幾個js和css

<script src="~/Content/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js"></script><link rel="stylesheet" href="../assets/examples.css"><link rel="stylesheet" ><script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script><script src="https://rawgit.com/akottr/dragtable/master/jquery.dragtable.js"></script><script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script><script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 

2、在cshtml頁面定義表格時,添加一個屬性

<table id="tb_departments" data-reorderable-columns="true"></table> 

其他地方不用做任何修改。加載出來的表格即可實現列調序。有沒有很簡單。

五、控件過濾

本來這篇準備結束的,突然想起上章里面有一個搜索的功能,好像是服務端分頁的時候搜索功能沒法使用,于是想起之前再CS里面做過一個類似每個列過濾的功能,博主好奇心又起來了,bootstrap table是否也有這種表格每列過濾的功能,于是查看文檔。結果不負所望,還真有~~我們來看看。

1、效果圖展示

2、代碼示例

(1)引入額外js

<script src="~/Content/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js"></script> 

(2)定義表格屬性及表頭屬性

<table id="tb_roles" data-filter-control="true"><thead><tr><th data-field="ROLE_NAME" data-filter-control="select">角色名稱</th><th data-field="DESCRIPTION" data-filter-control="input">角色描述</th><th data-field="ROLE_DEFAULTURL" data-filter-control="input">角色默認頁面</th></tr></thead></table> 

因為這里定義了表頭的屬性,所以,js初始化的時候就不用定義列了。

(3)js初始化

$('#tb_roles').bootstrapTable({url: '/Role/GetRole',method: 'get',toolbar: '#toolbar',striped: true,cache: false,striped: true,pagination: true,sortable: true,queryParams: function (param) {return param;},queryParamsType: "limit",detailView: false,//父子表sidePagination: "server",pageSize: 10,pageList: [10, 25, 50, 100],search: true,showColumns: true,showRefresh: true,minimumCountColumns: 2,clickToSelect: true,}); 

最開始,博主以為這種搜索只能用戶客戶端分頁的情況,可是經過調試發現并非如此,原來搜索的條件都能通過json傳遞到服務端。我們來看調試的過程

后臺接收參數,并反序列化

這樣我們就能將查詢的條件很好地傳遞到后臺。很好很強大啊。這樣就免去了擴展表格搜索功能的煩惱~~

六、總結

以上就是bootstrap table的一些擴展應用??赡芪床蝗妫€有一些高級用法也沒有介紹,比如行、列合并,行列凍結等等。

以上內容是小編給大家介紹的JS組件系列之Bootstrap table表格組件神器【二、父子表和行列調序】 的相關知識,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲iv一区二区三区| 日本亚洲精品在线观看| 国产精品成久久久久三级| 国产精品久久久久久超碰| 亚洲国产欧美日韩精品| 一区二区三区久久精品| 国产精品久久久久久av福利软件| 亚洲天堂av电影| 亚洲日韩欧美视频一区| 国产精品嫩草影院久久久| 伊人亚洲福利一区二区三区| 日韩在线观看免费网站| 乱亲女秽乱长久久久| 欧美成人午夜激情在线| 亚洲最大福利网站| 亚洲无av在线中文字幕| 中文字幕久热精品在线视频| 亚洲成人久久久| 亚洲欧洲偷拍精品| 97精品伊人久久久大香线蕉| 色综合天天综合网国产成人网| 91禁外国网站| 亚洲在线一区二区| 亚洲精品丝袜日韩| 国产精品久久久久久久天堂| 欧美午夜精品在线| 国产成人精品电影久久久| 成人网址在线观看| 日韩高清av一区二区三区| 丝袜美腿亚洲一区二区| 久久777国产线看观看精品| 色哟哟入口国产精品| 欧美激情一级欧美精品| 日韩欧美中文字幕在线播放| 亚洲欧美日韩直播| 国产成人亚洲综合青青| 欧美性猛交xxxx富婆| 欧美在线视频观看免费网站| 国产ts人妖一区二区三区| 91在线精品播放| 国产精品精品一区二区三区午夜版| 久久影院资源网| 性欧美xxxx视频在线观看| 亚洲精品mp4| 怡红院精品视频| 日韩大片免费观看视频播放| 国产成人啪精品视频免费网| 欧美韩国理论所午夜片917电影| 91老司机在线| 国产精品成人观看视频国产奇米| 日韩欧美精品中文字幕| 亚洲加勒比久久88色综合| 欧美精品激情blacked18| 亚洲欧美国产一区二区三区| 国产精品久久久久久网站| 日韩av影视在线| 久久噜噜噜精品国产亚洲综合| 久久精品视频免费播放| 俺去了亚洲欧美日韩| 成人免费高清完整版在线观看| 日韩av在线播放资源| 中文字幕日韩av电影| 色噜噜久久综合伊人一本| 97超级碰碰碰| 日韩在线观看精品| 97久久精品视频| 欧美激情区在线播放| 日产日韩在线亚洲欧美| 国产日韩欧美一二三区| 欧美激情xxxx| 亚洲精品按摩视频| 成人黄色网免费| 91中文精品字幕在线视频| 欧美日韩在线免费| 久久久国产91| 国产69精品久久久久9999| 亚洲欧美自拍一区| 久久精品一区中文字幕| 97超碰国产精品女人人人爽| 97在线看福利| 精品日韩中文字幕| 久久久久久国产免费| 欧美日韩在线视频首页| 久久欧美在线电影| 91精品国产电影| 91影院在线免费观看视频| 国产亚洲精品综合一区91| 精品人伦一区二区三区蜜桃网站| 欧美综合在线第二页| 日韩av在线资源| 中文字幕日本精品| 日韩欧美国产免费播放| 日本韩国欧美精品大片卡二| 久久久噜久噜久久综合| 成人激情电影一区二区| 国产精品久久99久久| 日韩精品中文在线观看| 色一情一乱一区二区| 国产福利视频一区二区| 日本欧美一二三区| 性亚洲最疯狂xxxx高清| 欧美综合在线观看| 日韩av在线影视| 国产亚洲一区二区在线| 亚洲国产精品人人爽夜夜爽| 亚洲乱码av中文一区二区| 欧美日韩中文字幕综合视频| 亚洲美女性视频| 视频在线观看一区二区| 91久久久久久久久久久| 亚洲精品久久久久中文字幕欢迎你| 日韩欧美视频一区二区三区| 久久久久久亚洲精品中文字幕| 亚洲深夜福利在线| 亚洲一区二区久久久久久久| 亚洲精品中文字| 97视频免费在线看| 国产精品va在线播放我和闺蜜| 欧美激情按摩在线| 亚洲成人999| 米奇精品一区二区三区在线观看| 国产精品久久一区| 最新69国产成人精品视频免费| 91精品国产91久久久久久不卡| 国外成人在线播放| 一色桃子一区二区| 久久亚洲私人国产精品va| 国外色69视频在线观看| 亚洲国产精品999| 日韩国产高清污视频在线观看| 北条麻妃一区二区在线观看| 成人精品一区二区三区| 久久久久国产精品免费网站| 性金发美女69hd大尺寸| 中文字幕免费国产精品| 久久久精品一区二区| 久久久久久久影院| 国产日韩在线一区| 精品视频久久久久久| 亚洲免费av网址| 亚洲免费中文字幕| 久久精品国产69国产精品亚洲| 日本精品视频在线播放| 国产91精品久久久久久久| 日韩一区二区精品视频| 中文字幕最新精品| 欧美在线一级视频| 久久久久久高潮国产精品视| 91久久久久久国产精品| 欧美裸体视频网站| 精品国产欧美一区二区五十路| 国产精品www| 日韩在线视频免费观看高清中文| 亚洲精品国产欧美| 国产精品女人久久久久久| 久久精品视频在线观看| 欧美人成在线视频| 91大神在线播放精品| 国产精品第一区| 亚洲va久久久噜噜噜| 欧美激情视频在线免费观看 欧美视频免费一| 中文国产成人精品久久一| 亚洲欧美一区二区三区久久| 国产亚洲精品久久久久久|