bootstrapr表格父子框_bootstrap-table的基本使用方法和属性

引入相应的js、css

先引入jQuery,jQuery必须在前面!

1

引入bootstrap的js和css

1

2

3

4

5

6

7

8

下载bootstrap-table的js和css并引用到项目中=>传送门

使用bootstrap-table

创建一个table标签,给这个标签取一个id(我取的id是exampleTableToolbar),然后开始写javascript代码

$(function () {

$('#exampleTableToolbar').bootstrapTable({

url: "/WGR/AddDeleteUser",

search: true,

showRefresh: true,

showToggle: true,

showColumns: true,

toolbar: '#exampleToolbar',

iconSize: 'outline',

icons: {

refresh: 'glyphicon-repeat',

toggle: 'glyphicon-list-alt',

columns: 'glyphicon-list'

},

pagination: true,

showColumns: true,

showColumns: true,

showRefresh: true,

pageSize: 5,

pageList: [5, 10, 15, 20],

columns: [

{

checkbox: true

},

{

field: 'ID',

title: 'ID'

}, {

field: 'RealName',

title: '姓名'

}, {

field: 'title',

title: '部门'

}, {

field: 'Email',

title: 'Email'

}, {

field: 'Money',

title: 'Money'

}, {

field: 'Address',

title: '地址'

}]

});

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

$(function(){

$('#exampleTableToolbar').bootstrapTable({

url:"/WGR/AddDeleteUser",

search:true,

showRefresh:true,

showToggle:true,

showColumns:true,

toolbar:'#exampleToolbar',

iconSize:'outline',

icons:{

refresh:'glyphicon-repeat',

toggle:'glyphicon-list-alt',

columns:'glyphicon-list'

},

pagination:true,

showColumns:true,

showColumns:true,

showRefresh:true,

pageSize:5,

pageList:[5,10,15,20],

columns:[

{

checkbox:true

},

{

field:'ID',

title:'ID'

},{

field:'RealName',

title:'姓名'

},{

field:'title',

title:'部门'

},{

field:'Email',

title:'Email'

},{

field:'Money',

title:'Money'

},{

field:'Address',

title:'地址'

}]

});

url是后台返回的json,columns是后台查询的字段,field必须与后台处理的字段一样,我后台如下

public ActionResult AddDeleteUser()

{

UsersBll user = new UsersBll();

ViewBag.user = user.GetList(u=>true).Select(u => new {u.Address,u.Email,u.Money,u.RealName,title=u.Dept.Title,u.ID });

return Json(ViewBag.user, JsonRequestBehavior.AllowGet);

}

1

2

3

4

5

6

publicActionResultAddDeleteUser()

{

UsersBlluser=newUsersBll();

ViewBag.user=user.GetList(u=>true).Select(u=>new{u.Address,u.Email,u.Money,u.RealName,title=u.Dept.Title,u.ID});

returnJson(ViewBag.user,JsonRequestBehavior.AllowGet);

}

单选或多选获取行id来删除数据

$('#delete').click(function () {

var data = $('#exampleTableToolbar').bootstrapTable("getSelections");

if (data.length > 0) {

layer.confirm('你确定要删除选中的数据吗?', {

btn: ['确定', '取消'] //按钮

}, function () {

for (var i = 0; i < data.length; i++) {

var userid = data[i].ID;

$.post('/WGR/DeleteUser', {userid:userid}, function (msg) {

if (msg == "no") {

layer.msg('删除失败!', { icon: 2 });

}

});

}

layer.msg('删除成功!', { icon: 1,time:1000 });

window.location.reload();

});

}

});

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

$('#delete').click(function(){

vardata=$('#exampleTableToolbar').bootstrapTable("getSelections");

if(data.length>0){

layer.confirm('你确定要删除选中的数据吗?',{

btn:['确定','取消']//按钮

},function(){

for(vari=0;i

varuserid=data[i].ID;

$.post('/WGR/DeleteUser',{userid:userid},function(msg){

if(msg=="no"){

layer.msg('删除失败!',{icon:2});

}

});

}

layer.msg('删除成功!',{icon:1,time:1000});

window.location.reload();

});

}

});

delete是我的删除按钮的id,通过getSelections方法获取选中行的数据(为数组),若是没有选中getSelections获取的数组长度为0

bootstrap-table常用的属性和方法

属性

url: '/Interface/GetData', //请求后台的URL(*)

method: 'get', //请求方式(*)

toolbar: '#toolbar', //工具按钮用哪个容器

striped: true, //是否显示行间隔色

cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)

pagination: true, //是否显示分页(*)

sortable: false, //是否启用排序

sortOrder: "asc", //排序方式

queryParams: oTableInit.queryParams,//传递参数(*)

sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)

pageNumber: 1, //初始化加载第一页,默认第一页

pageSize: 10, //每页的记录行数(*)

pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)

search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大

contentType: "application/x-www-form-urlencoded",

strictSearch: true,

showColumns: true, //是否显示所有的列

showRefresh: true, //是否显示刷新按钮

minimumCountColumns: 2, //最少允许的列数

clickToSelect: true, //是否启用点击选中行

height: 700, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度

uniqueId: "no", //每一行的唯一标识,一般为主键列

showToggle: true, //是否显示详细视图和列表视图的切换按钮

cardView: false, //是否显示详细视图

detailView: false, //是否显示父子表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

url:'/Interface/GetData',//请求后台的URL(*)

method:'get',//请求方式(*)

toolbar:'#toolbar',//工具按钮用哪个容器

striped:true,//是否显示行间隔色

cache:false,//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)

pagination:true,//是否显示分页(*)

sortable:false,//是否启用排序

sortOrder:"asc",//排序方式

queryParams:oTableInit.queryParams,//传递参数(*)

sidePagination:"server",//分页方式:client客户端分页,server服务端分页(*)

pageNumber:1,//初始化加载第一页,默认第一页

pageSize:10,//每页的记录行数(*)

pageList:[10,25,50,100],//可供选择的每页的行数(*)

search:true,//是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大

contentType:"application/x-www-form-urlencoded",

strictSearch:true,

showColumns:true,//是否显示所有的列

showRefresh:true,//是否显示刷新按钮

minimumCountColumns:2,//最少允许的列数

clickToSelect:true,//是否启用点击选中行

height:700,//行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度

uniqueId:"no",//每一行的唯一标识,一般为主键列

showToggle:true,//是否显示详细视图和列表视图的切换按钮

cardView:false,//是否显示详细视图

detailView:false,//是否显示父子表

方法

定义方法响应的语法 $('#table').bootstrapTable('method', parameter);

方法名

参数

描述

举例

getOptions

none

返回各项的object

$table.bootstrapTable(‘getOptions’);

- 请查看: getOptions

getSelections

none

返回被选择的行,当没有行被选择,则返回空数组(但并不是undefined,也不是null,是长度为0的空数组,所以可以判断长度是否大于0来确定是否选择了行)

$table.bootstrapTable(‘getSelections’);

- 请查看: getSelections

getAllSelections

none

返回所有被选的行(原文中:contain search or filter,其实就是你选择的筛选之后的数据),当没有行被选择,则返回空数组

$table.bootstrapTable(‘getAllSelections’);

- 请查看: getAllSelections

showAllColumns

none

显示所有的列

$table.bootstrapTable(‘showAllColumns’);

- 就是显示所有的列,并没什么可说的

hideAllColumns

none

隐藏所有的列

$table.bootstrapTable(‘hideAllColumns’);

- 就是隐藏所有的列

getData

useCurrentPage

获取被加载的表的数据,如果你设置了使用当前页的数据(useCurrentPage),则返回当前页的数据

$table.bootstrapTable(‘getData’);

- 请查看: getData

getRowByUniqueId

id

获取你想要的某行的数据(设置某行的id)

$table.bootstrapTable(‘getRowByUniqueId’, 1);后面的1就是你要的那一行的ID

- 请查看: getRowByUniqueId

load

data

向表中加载数据,原来的数据将被移除

$table.bootstrapTable(‘load’, data);

- 请查看: load

append

data

将数据追加在最后一行后

$table.bootstrapTable(‘append’, data);data可以是数组

- 请查看: append

prepend

data

也是追加,只是在第一行之前

$table.bootstrapTable(‘prepend’, data);data可以是数组

- 请查看: prepend

remove

params

移除一行或多行你所选的数据

$table.bootstrapTable(‘remove’, {field: ‘id’, values: ids});

- id:所需移除的那一行(rows,一或多行)的字段

- values:被移除的行的数组

- 请查看: remove

removeAll

-

移除表中所有的数据

$table.bootstrapTable(‘removeAll’);

- 请查看: removeAll

removeByUniqueId

-

移除某行数据(设置某行的id)

$table.bootstrapTable(‘removeByUniqueId’, 1);后面的1就是你想移除的那一行的ID

- 请查看: removeByUniqueId

insertRow

params

新增一行,所需的参数如下:

- index:你想插入到哪(只要愿意,想插哪就插哪,想插谁就插谁)

- row:你想插入的数据

$table.bootstrapTable(‘insertRow’, {index: 1, row: row});

- 请查看: insertRow

updateRow

params

更新行数据,所需的参数如下:

- index:所要更新的行的索引(index)

- row:你想换的新的数据

$table.bootstrapTable(‘updateRow’, {index: 1, row: row});

- 请查看: updateRow

- 请查看: Bootstrap Table实现定时刷新数据

updateByUniqueId

params

更新某行数据,所需的参数如下:

- id:你想更新那行的id(唯一),(只要愿意,想换哪个换哪个)

- row:你想换的新的数据

$table.bootstrapTable(‘updateByUniqueId’, {id: 3, row: row});

- 请查看: updateByUniqueId

showRow

params

显示特定行,所需的参数至少包括下面所列的一个:

- id:所要显示的行的索引(index)

- uniqueId:那一行的id

$table.bootstrapTable(‘showRow’, {index:1});

- 请查看: showRow/hideRow

hideRow

params

隐藏特定行,所需的参数至少包括下面所列的一个:

- id:所要隐藏的行的索引(index)

- uniqueId:那一行的id

$table.bootstrapTable(‘hideRow’, {index:1});

- 请查看: showRow/hideRow

getRowsHidden

boolean

获取隐藏的行(官方原话很多,其实总结起来就前面那一句)

$table.bootstrapTable(‘getRowsHidden’);

方法名

参数

描述

举例

mergeCells

options

融合~(把多格合并为一格),所需的参数如下:

- index:所要合并的格所在行的索引(index)

- field:所在列的字段名

- rowspan:合并的行总数目

- colspan:合并的列总数目

$table.bootstrapTable(‘mergeCells’, {index: 1, field: ‘name’, colspan: 2, rowspan: 3});

- 请查看: mergeCells

updateCell

params

更新某格数据,所需的参数如下:

- index:所要合并的格所在行的索引(index)

- field:所在列的字段名

- value:要换的新的数据

你也可以设置{reinit:false}来禁用表格的再次初始化

$table.bootstrapTable(‘updateCell’,{index:index,field:’id’,value:value});

refresh

params

刷新服务端的数据:

- 可以设置{silent:true}来 偷偷地(<_>

- 设置{url:newUrl,pageNumber:pageNumber,

pageSize:pageSize}改变请求的地址,页数,每页所显示的条数

- 可以设置{query:{foo:’bar’}}增加特定的参数

$table.bootstrapTable(‘refresh’);

- 请查看: refresh

refreshOptions

options

看例子吧

resetSearch

text

重置搜索的文本(text)

showLoading

none

显示正在加载……

hideLoading

none

隐藏正在加载……

checkAll

none

选择当前页的所有行

$table.bootstrapTable(‘checkAll’);

- 请查看: checkAll/uncheckAll

uncheckAll

none

取消选择当前页的所有行

$table.bootstrapTable(‘uncheckAll’);

- 请查看: checkAll/uncheckAll

checkInvert

none

反向选择,不难理解吧

$table.bootstrapTable(‘checkInvert’);

check

index

选择某一行,索引(index)从0开始

$table.bootstrapTable(‘check’, 1);

- 请查看: check/uncheck

uncheck

index

取消选择某一行,索引(index)从0开始

$table.bootstrapTable(‘uncheck’, 1);

- 请查看: check/uncheck

checkBy

params

通过数组选择某一行,所需的参数如下:

- field:所要选的字段名

- values:所要选的那些值(数组)

官方没,啊,有例纸:

- $(“#table”).bootstrapTable(“checkBy”, { field:”field_name”, values:[“value1”,”value2”,”value3”]});

- 请查看: checkBy/uncheckBy

uncheckBy

params

通过数组选择某一行,所需的参数如下:

- field:所要取消选择的字段名

- values:所要取消选择的那些值(数组)

$(“#table”).bootstrapTable(“uncheckBy”, { field:”field_name”, values:[“value1”,”value2”,”value3”]});

- 请查看: checkBy/uncheckBy

resetView

params

改变表格的样式,例如改变表格的高度(height)

$table.bootstrapTable(‘resetView’);

- 请查看: resetView

resetWidth

none

自动改变表头和表脚(就译成脚,任性)的宽度来适应每列的宽度

$table.bootstrapTable(‘resetWidth’);

destroy

none

销毁表格 A!T!T!A!C!K!

$table.bootstrapTable(‘destroy’);

- 请查看: destroy

showColumn

field

显示特定的列

$table.bootstrapTable(‘showColumn’, ‘name’);

- 请查看: showColumn/hideCoulumn

hideColumn

field

隐藏特定的列

$table.bootstrapTable(‘hideColumn’, ‘name’);

- 请查看: showColumn/hideCoulumn

方法名

参数

描述

举例

getHiddenColumns

-

获取所有隐藏的列

$table.bootstrapTable(‘getHiddenColumns’);

getVisibleColumns

-

获取所有显示的列

$table.bootstrapTable(‘getVisibleColumns’);

scrollTo

value

滚……到哪个位置,单位是’px’,如果设为’bottom’,嗖,恭喜你已到表尾

$table.bootstrapTable(‘scrollTo’, 0);

- 请查看: scrollTo

getScrollPosition

none

获取当前所滚到的位置,单位你懂得,就是’px’

$table.bootstrapTable(‘getScrollPosition’);

filterBy

none

只能在客户端(client-side,相对server-side)这边用,过滤表中的数据

例如:

- 可以设置{age:10}来只显示age为10的数据

- 不仅单的,你还可以双飞,甚至多p,设置{age: 10, hairColor: [“blue”, “red”, “green”]} ,这样你就得到了一群10岁的,头发颜色为蓝,红,绿的……数据

$table.bootstrapTable(‘filterBy’, { id: [1, 2, 3] });

- 请查看: filterBy

selectPage

page

跳转到特定的页面

$table.bootstrapTable(‘selectPage’, 1);

- 请查看: selectPage/prevPage/nextPage

prevPage

none

跳转到上一页

$table.bootstrapTable(‘prevPage’);

- 请查看: selectPage/prevPage/nextPage

nextPage

none

跳转到下一页

$table.bootstrapTable(‘nextPage’);

- 请查看: selectPage/prevPage/nextPage

togglePagination

none

词穷,请看例纸

$table.bootstrapTable(‘togglePagination’);

- 请查看: togglePagination

toggleView

none

改变视图

$table.bootstrapTable(‘toggleView’);

- 请查看: toggleView

expandRow

index

可使用条件:detail view设为了true,不然无法使用视图功能,这个也没用

- 通过参数index来展开此列的详细视图

collapseRow

index

可使用条件:detail view设为了true

- 通过参数index来关闭此列的详细视图

expandAllRow

is subtable

可使用条件:detail view设为了true

- 展开所有列的详细视图

$table.bootstrapTable(‘expandAllRow’);

- 参考上面的实例,上面是展开(折叠)某一行的视图,这个是所有行的

collapseAllRow

is subtable

可使用条件:detail view设为了true

- 关闭所有列的详细视图

$table.bootstrapTable(‘collapseAllRow’);

- 参考上面

实例效果图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值