记Bootstrap Table两种渲染方式
这里主要区别两种Bootstrap Table的数据渲染方式,一、属性渲染方式,二、JS渲染方式
工作直接接手前人的,之前都直接在table标签上渲染属性,后面因为项目需要,同一页面的表格,需要申请不同的接口获取数据,写两个表格后期数据量大的时候浪费页面资源还增加了请求,所以最后改成了JS渲染方式,先贴表格效果:

一是属性渲染方式:省去表格所在项目引用的样式,单论数据加载,HTML代码就是简单的table表格的结构,table标签上添加data-属性,控制表格渲染效果。
HTML:
<table id="UnDistributeTable" class="table table-hover table-responsive table-bordered grayTable" data-toggle="table"
data-query-params="Setparams_UnDistribute" data-query-params-type="" data-method="post"
data-url="/api/data "
data-side-pagination="server" data-sort-name=""
data-id-field="WorkID" data-height="" data-page-number="1" data-response-handler="GetData" data-striped=true
data-pagination="true" data-page-size="15" data-page-list="[50,100,200]">
<thead>
<tr>
<th data-field="PONum" data-sortable="true">
PO单号
</th>
<th data-field="AllotWorkNum" data-sortable="true">
分配单号
</th>
<th data-field="NKAFlagName" data-sortable="true">
单据类型
</th>
<th data-field="Purpose" data-sortable="true">
用途
</th>
<th data-field="SumQuantity">
物料总量
</th>
<th data-field="SumAllocationQuantity" >
已分配数量
</th>
<th data-field="OperatorName">
上级办理人
</th>
<th data-field="OperatorTime">
上级办理时间
</th>
<th data-field="" data-formatter="Opera" >
操作
</th>
</tr>
</thead>
</table>
HTML Code
JS:
function Setparams_UnDistribute(params) {
var e = [{ PageSize: params.pageSize, PageIndex: params.pageNumber, OrderByField: params.sortName, OrderByType: params.sortOrder == "asc" ? 0 : 1, AllotState: 0,PONum:"" }];
return e;
}
function GetData(res) {
return {
"total": res.Total, //总页数
"rows": res.Data //数据
};
}
JS Code
这样就能够加载出路径url的数据了。
二就是JS加载方式,不会在table标签上添加其他的属性,table的结构更加清楚。
HTML:
<table id="DistributeTable" class="table table-hover table-responsive table-bordered grayTable" >
<thead>
<tr>
<th data-field="CheckState" >
审核状态
</th>
<th data-field="PONum" data-sortable="true">
PO单号
</th>
<th data-field="WorkNum" data-sortable="true">
分配单号
</th>
<th data-field="NKAFlagName" data-sortable="true">
单据类型
</th>
<th data-field="Purpose" data-sortable="true">
用途
</th>
<th data-field="SumQuantity" >
物料总量
</th>
<th data-field="SumAllocationQuantity" >
本次分配数量
</th>
<th data-field="OperatorName" data-sortable="true">
分配人
</th>
<th data-field="OperatorTime" data-sortable="true">
分配时间
</th>
<th data-field="SumQuantity" data-sortable="true">
物料总量
</th>
<th data-field="" data-formatter="OperaView">
操作
</th>
</tr>
</thead>
</table>
HTML Code
JS:
$(function () {
var oTable = new TableInit();
oTable.Init();
});
var TableInit = function () {
var oTableInit = new Object();
//初始化Table
oTableInit.Init = function () {
var url = ‘/api/data’; //请求后台的URL(*)
$('#DistributeTable').bootstrapTable({
url: url,
method: 'post',
striped: true,
cache: false, //是否使用缓存,默认为true
pagination: true,
sortable: true,
sortName:"PONum",
queryParams: oTableInit.queryParams,
sidePagination: "server",
pageNumber: 1,
pageSize:15,
pageList: [25, 50, 100],
uniqueId: "id", //每一行的唯一标识,一般为主键列
responseHandler: function (res) {
return {
"total": res.Total,
"rows": res.Data
};
}
});
};
//得到查询的参数
oTableInit.queryParams = function (params) {
var e = [{ PageSize: params.limit, PageIndex: Math.floor(params.offset / params.limit) + 1, OrderByField: params.sort , OrderByType: params.order == "asc" ? 0 : 1, AllotState: 1, PONum:"" }];
return e;
};
return oTableInit;
};
JS Code
两种方式,渲染所得效果一致,完美,具体使用时,采用哪种方式渲染表格都可以,属性渲染更清楚显示出表格与参数设置的对应关系,适用于功能固定的表格,如果页面同一表所要加载的数据源会发生变化的话,最好使用第二种JS 渲染表格的方式,可以添加表格加载条件,来判断具体加载哪一数据源的数据,控制表格表格加载数据并渲染。
另,Bootstrap Table表格中有一点我比较迷茫的地方还没弄清楚,所以也提一下,就是table标签中一般有data-toggle=”table”属性值的设置,设置了就表示不写JS启用表格,一般在对table进行JS初始化的时候,比如写$(“#table”).bootstrapTable({“data”, data});这种的时候,如果声明了该属性,就无法正常渲染表格;但是如果使用Bootstrap Table方法渲染表格,比如$(“#table”).bootstrapTable(“load”, data);就必须添加该属性,否则也无法正常显示。
注-版权声明:本文为博主原创文章,未经博主允许不得转载。
记Bootstrap Table两种渲染方式的更多相关文章
- 测开之路一百零五:bootstrap的两种引用方式
一:下载到本地引用: 3.3.7版本:https://getbootstrap.com/docs/3.3/getting-started/#download 下载后解压到本地项目中引用 第二种,cdn ...
- EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别
EasyPlayer-RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPL ...
- RabbitMQ学习第二记:工作队列的两种分发方式,轮询分发(Round-robin)和 公平分发(Fair dispatch)
1.什么是RabbitMQ工作队列 我们在应用程序使用消息系统时,一般情况下生产者往队列里插入数据时速度是比较快的,但是消费者消费数据往往涉及到一些业务逻辑处理导致速度跟不上生产者生产数据.因此如果一 ...
- PlaceHolder的两种实现方式
placeholder属性是HTML5 中为input添加的.在input上提供一个占位符,文字形式展示输入字段预期值的提示信息(hint),该字段会在输入为空时显示. 如 <input typ ...
- Java中String对象两种赋值方式的区别
本文修改于:https://www.zhihu.com/question/29884421/answer/113785601 前言:在java中,String有两种赋值方式,第一种是通过“字面量”赋值 ...
- hibernate 一对一 one to one的两种配置方式
hibernate中one-to-one两种配置方式 标签: hibernateHibernateone-to-one 2013-02-19 17:44 11445人阅读 评论(1) 收藏 举报 分 ...
- 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解
1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...
- Hibernate中双向多对多的两种配置方式
Hibernate中双向多对多的两种配置方式 1.建立多对多双向关联关系 package cn.happy.entitys; import java.util.HashSet; import java ...
- datagrid的toolbar的两种实现方式
datagrid的toolbar的两种实现方式 1.在html文件中,可以在设置toolbar="#tb",再在div中设置id="tb" <table ...
随机推荐
- Ubuntu下安装git工具
环境:Ubuntu 9.10 git-1.8.2.3.tar.bz2 1.将安装包下载到所选文件夹下,如:/tmp 2.tar -xjf git-1.8.2.3.tar.bz2 3.cd git-1. ...
- android selector设置button点击效果(具体)以及常见问题
button的点击效果学习起来其实比較easy,此点对开发人员来说也是使用的比較频繁的一个知识点,与它相关的还有编辑框的获取焦点时改变背景颜色.选择button选择时改变字体颜色等等.这些其实都是用到 ...
- vue2.0-transition动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JAVA 获取访问者IP
* 获取访问者IP * * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效. * * 本方法先从Header中获取X-Real- ...
- CCF模拟题 最优灌溉
最优灌溉 时间限制: 1.0s 内存限制: 256.0MB 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉. 为了灌溉,雷雷需 ...
- 从2014年D2前端技术论坛看前端发展趋势
上周六有幸參加了在杭州阿里巴巴西溪园区举办的2014年D2前端技术论坛和晚上的酒会.实地感受了一下阿里巴巴前端开发的技术氛围和影响力.整体上看这次D2规模还是挺大的,国内前端的知名大牛基本上都到了. ...
- [React] Stop Memory Leaks with componentWillUnmount Lifecycle Method in React
In this lesson we'll take a stopwatch component we built in another lesson and identify and fix a me ...
- android側滑菜单-DrawerLayout的基本使用
眼下主流App开发中,部分是以側滑菜单为主布局架构,曾经做android側滑菜单时.大多选择使用github上的第三方开源框架SildingMenu,可是这个框架还是稍显笨重.好消息是google已经 ...
- Bounding Volume Hierarchy BVH in OpenCASCADE
Bounding Volume Hierarchy BVH in OpenCASCADE eryar@163.com Abstract. Bounding Volume Hierarchy(BVH) ...
- 欢天喜地迎国庆,国产开源编程语言 RPP 1.87 公布!
更新例如以下: 1.支持超级宏 2.修复bug 下载地址: https://github.com/roundsheep/rpp 超级宏能够随意定义语法,制约你的仅仅有想象力: void main() ...