这里主要区别两种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两种渲染方式的更多相关文章

  1. 测开之路一百零五:bootstrap的两种引用方式

    一:下载到本地引用: 3.3.7版本:https://getbootstrap.com/docs/3.3/getting-started/#download 下载后解压到本地项目中引用 第二种,cdn ...

  2. EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别

    EasyPlayer-RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPL ...

  3. RabbitMQ学习第二记:工作队列的两种分发方式,轮询分发(Round-robin)和 公平分发(Fair dispatch)

    1.什么是RabbitMQ工作队列 我们在应用程序使用消息系统时,一般情况下生产者往队列里插入数据时速度是比较快的,但是消费者消费数据往往涉及到一些业务逻辑处理导致速度跟不上生产者生产数据.因此如果一 ...

  4. PlaceHolder的两种实现方式

    placeholder属性是HTML5 中为input添加的.在input上提供一个占位符,文字形式展示输入字段预期值的提示信息(hint),该字段会在输入为空时显示. 如 <input typ ...

  5. Java中String对象两种赋值方式的区别

    本文修改于:https://www.zhihu.com/question/29884421/answer/113785601 前言:在java中,String有两种赋值方式,第一种是通过“字面量”赋值 ...

  6. hibernate 一对一 one to one的两种配置方式

    hibernate中one-to-one两种配置方式 标签: hibernateHibernateone-to-one 2013-02-19 17:44 11445人阅读 评论(1) 收藏 举报  分 ...

  7. 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解

    1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...

  8. Hibernate中双向多对多的两种配置方式

    Hibernate中双向多对多的两种配置方式 1.建立多对多双向关联关系 package cn.happy.entitys; import java.util.HashSet; import java ...

  9. datagrid的toolbar的两种实现方式

    datagrid的toolbar的两种实现方式 1.在html文件中,可以在设置toolbar="#tb",再在div中设置id="tb" <table ...

随机推荐

  1. 【JavaScript】分秒倒计时器

    一.基本目标 在JavaScript设计一个分秒倒计时器,一旦时间完毕使button变成不可点击状态 详细效果例如以下图.为了说明问题.调成每50毫秒也就是每0.05跳一次表, 真正使用的时候,把wi ...

  2. CKEditor高级编辑器

    是否感觉后台分类描写叙述信息.商品描写叙述信息以及文章描写叙述信息 编写时很的不方便?有时候会将word的格式也复制过来了?那这个插件就比較适合了. 本插件使用CKEditor最新版本号,复制过来的内 ...

  3. 鸟哥的Linux私房菜-----15、例行性命令at与crontab

  4. Objective-C - NSInteger转换NSString

    NSInteger不是对象, 转换为long匹配64位系统, 再组成字符串(%ld). NSString *inStr = [NSString stringWithFormat: @"%ld ...

  5. [BZOJ5305][HAOI2018]苹果树 组合数学

    链接 小 C 在自己家的花园里种了一棵苹果树, 树上每个结点都有恰好两个分支. 经过细心的观察, 小 C 发现每一天这棵树都会生长出一个新的结点. 第一天的时候, 果树会长出一个根结点, 以后每一天, ...

  6. url与图片

    http://restapi.amap.com/v3/staticmap?location=116.481485,39.990464&zoom=10&size=750*300& ...

  7. php数组增加元素

    php数组增加元素 截图 代码 <HTML> <HEAD> <TITLE>给数组增加元素</TITLE> </HEAD> <? $Ci ...

  8. vue的钩子函数

    1.computed 计算属性 计算属性将被混入到 Vue 实例中.所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 1..aPlus: { get: function ...

  9. BZOJ3569: DZY Loves Chinese II(线性基构造)

    Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生.   今Dzy有一魞歄图, ...

  10. Tensorflow 函数学习笔记

    A: A:## tf.argmax(A, axis).eval() 输出axis维度上最大的数的索引 axis=0:列,axis=1:行 A:## tf.add(a,b)  创建a+b的计算图 A:# ...