这里主要区别两种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. [Python] Array Attributes of Numpy lib

    Attributes of numpy.ndarray: numpy.ndarray.shape: Dimensions (height, width, ...) numpy.ndarray.ndim ...

  2. OpenGL编程逐步深入(四)Shaders

    OpenGl 中的 Shader在一些中文书籍或资料中都被翻译为"着色器", 单从字面意思也看不出Shader到底是什么,Shader实际上就是一段代码,用于完成特定功能的一个模块 ...

  3. SQL中NUMERIC和DECIMAL的区别

    numeric 和 decimal 数据类型的默认最大精度值是 38.在 Transact-SQL 中,numeric 与 decimal 数据类型在功能上等效. decimal(numeric ) ...

  4. xcode 条件调试

    添加条件 有时候我们可能会在某个循环中创建断点,但一次又一次地点击 continue 直到我们想要的条件出现,显然是一种非常低效的方式.好在 Xcode 为我们提供了条件断点. 首先在下列代码中插入一 ...

  5. 服务器无法远程管理客户端”计算机配置"解决方法

    1.确认是否可ping 通 如无法ping通, 在入门规则中找到“文件和打印机共享(回显请求-ICMPv4-In)”,设定为启用(配置文件为:域) 2. 打开139端口 1.2在防火墙中设置如下:

  6. 《TensorFlow学习指南深度学习系统构建详解》英文PDF+源代码+部分中文PDF

    主要介绍如何使用 TensorFlow 框架进行深度学习系统的构建.涉及卷积神经网络.循环神经网络等核心的技术,并介绍了用于图像数据和文本序列数据的模型.给出了分布式深度学习系统在TensorFlow ...

  7. oracle 正序 逆序 排序查询

    正序:从小到大 order by t.id asc 逆序:从大到小 order by t.id desc

  8. 讲的好,php后端模式,php-fpm以及php-cgi, fast-cgi,以及与nginx的关系

    关于cgi是什么,fast-cgi是什么,php-cgi是什么,fast-cgi是什么,下面这篇讲的很清楚: https://segmentfault.com/q/1010000000256516 另 ...

  9. Cocos2d-x手机游戏开发与项目实践具体解释_随书代码

    Cocos2d-x手机游戏开发与项目实战具体解释_随书代码 作者:沈大海  因为原作者共享的资源为UTF-8字符编码.下载后解压在win下显示乱码或还出现文件不全问题,现完整整理,解决全部乱码问题,供 ...

  10. [Python] Manipulate Data with Dictionaries in Python

    Dictionaries may be familiar to you as hash maps. In this lesson, you will learn how to create them, ...