这里主要区别两种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. 开源项目 AllJoyn 基础服务

    AllJoyn 基础服务主要包含 Onboarding,Notification 和 Control Panel三个大项. 这三个也是编写App的最基础的,最经常使用的部分. Onboarding 提 ...

  2. FTP配置说明

    1.下载rpm包,如vsftpd-3.0.2-21.el7.x86_64.rpm.可在系统盘里面找到或者下载 2.参考如下步骤.或者见链接http://blog.csdn.net/uq_jin/art ...

  3. 35.QQ大数据模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  4. 【J-meter】参数及相应数据中文显示乱码问题

    参考资料: http://www.51testing.com/html/00/130600-1360743.html http://www.cnblogs.com/fengpingfan/p/5851 ...

  5. JavaScript表单项数据过滤代码

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  6. mongodb适用和不适用的应用场景

    近期考虑把订单历史数据从Oracle数据库迁移到Nosql数据库做历史数据查询和分析,一天千万级数据.打算使用mongodb数据库.使用nodejs做查询和统计API,对并发请求量要求低,不知道有没有 ...

  7. iOS项目开发实战——学会使用TableView列表控件(二)

    要在iOS开发中使用TableView列表控件,不仅能够直接使用TableViewController作为整个主界面,并且还能够使用TableView控件来实现.使用TableView能够进行很多其它 ...

  8. php 图片局部打马赛克

    php 图片局部打马赛克 原理: 对图片中选定区域的每一像素,添加若干宽度及高度,生成矩型.而每一像素的矩型重叠在一起.就形成了马赛克效果. 本例使用GD库的imagecolorat获取像素颜色,使用 ...

  9. 数据库优化技巧之in和not in

    在编写SQL语句时,假设要实现一张表有而另外一张表没有的数据时. 通常第一直觉的写法是: select * from table1 where table1.id not in(select id f ...

  10. Android与webserver数据交互编程---3网络爬虫项目实现虚拟浏览器的jsp后台执行

    背景:原先的b/s设计中在一个jsp界面中实现多个复杂的工作流... 为实现移动接口的调用保证工作流的正常webproject特别给提供了该虚拟浏览器的方案 原理:通过该方案实现虚拟浏览器后台运行js ...