后台项目中经常会用到 dataTable 进行表格的智能绘制;总结一下项目中经常用到的 dataTable 设置

1.dataTable 属性设置:

autoWidth: true, // 是否自动计算列宽,默认为 true; 如果要  columnDefs  给不同的列设置不同的宽,则 false 处理----注意,如果设置了  true; 浏览器每次刷 datatable  时候,会分配 td 不同的 width; 容易出现抖动的情况!!!!

searching: false, // 取消搜索查询

ordering: false, //取消排序

bInfo: true, //是否显示页脚信息,datatables 插件左下角显示记录数

bProcessing: true, //datatables 载入数据时,是否显示“进度”提示

bPaginate: true, //是否显示分页

pageLength: 20, //页面展示信息数

bSort: true, //是否启动各个字段的排序功能

aaSorting: [[1,"asc"]], //  默认的排序方式,第2列,升序排序

data: [], //  注意。datatable 的数据源是 array  数组!!

---- 汇总列信息 columns ----

columns 是一个数组。有几列就有几个 data;和每一列一一对应。如果没有直接可取的数据:  data: null

columns: [

{"data": "oid"},

{"data":"title"},

{"data":null}

],

---- 具体到每一列  columnDefs ----

columnDefs: [

{

targets: 0,

render: function( data, type, row ) {

  return data;  ----在 columnDefs 里面一定一定要 return ;否则没有数据展示

},

createdCell: function( td, cellData, rowData, row, col ) { ----这一部分是给一列 td 增加属性

  $(td).attr("data-title", cellData)

}

}

],

---- 针对行信息  createdRow ----

createdRow: function( row, data, index ) {

$(row).attr("id", data.id);

$(row).data("oid",data.oid);

},

DATAtable---获取直接父节点  tr
var $tr = $(this).closest("tr");

  

实战中遇到需要针对某一列的所有内容加入 lightGallery 缓动片放映图片/视频的功能

fnDrawCallback: function(oSettings) {

$("#table tbody tr").each(function(){

var lightId = $(this).attr("id");

$("#"+lightId).lightGallery({

thumbnail: true, // 为图库启用缩略图

selector: 'a'

})

})

}
datatable 中,如果根据条件给特定的 td 单元格设置样式
/ createdCell: function( nTd, sData, oData, iRow, iCol ){}
// nTd: 当前单元格DOM 对象; sData: 当前单元格数值 ; oData: 当前行整行的数据对象;iRow:行下标;iCol: 列下标
createdCell: function (nTd,sData,oData,iRow,iCol) {
var font = $(nTd).html()
if(font.indexOf("button") != -1){
$(nTd).addClass("td_error");
}
}
在 "columnDefs:"[{
"targets": 1,
createdCell: function----根据当前获取的 html()内容值,判断条件
}]

  

dataTable 实战总结的更多相关文章

  1. Asp.Net Core 项目实战之权限管理系统(6) 功能管理

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  2. [转]ASP.NET MVC4+BootStrap 实战(一)

    本文转自:http://leelei.blog.51cto.com/856755/1587301 好久没有写关于web开发的文章了,进到这个公司一直就是winform和Silverlight,实在是没 ...

  3. 升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)

          Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系 ...

  4. [原创].NET 业务框架开发实战之八 业务层Mapping的选择策略

    原文:[原创].NET 业务框架开发实战之八 业务层Mapping的选择策略 .NET 业务框架开发实战之八 业务层Mapping的选择策略 前言:在上一篇文章中提到了mapping,感觉很像在重新实 ...

  5. [原创].NET 业务框架开发实战之七 业务层初步构想

    原文:[原创].NET 业务框架开发实战之七 业务层初步构想 .NET 业务框架开发实战之七 业务层初步构想 前言:本篇主要讲述如何把DAL和BLL衔接起来. 本篇议题如下: 1.       DAL ...

  6. [原创].NET 业务框架开发实战之六 DAL的重构

    原文:[原创].NET 业务框架开发实战之六 DAL的重构 .NET 业务框架开发实战之六 DAL的重构 前言:其实这个系列还是之前的".NET 分布式架构开发实战 ",之所以改了 ...

  7. [原创].NET 分布式架构开发实战五 Framework改进篇

    原文:[原创].NET 分布式架构开发实战五 Framework改进篇 .NET 分布式架构开发实战五 Framework改进篇 前言:本来打算这篇文章来写DAL的重构的,现在计划有点改变.之前的文章 ...

  8. .Net反编译实战

    原文:.Net反编译实战 当你面对一个已经部署好的网站,功能,性能都非常不给力的时候,你会怎么办? 当你尝试去了解这个网站业务逻辑,代码逻辑和数据库逻辑时却发现根本没有任何资料时你会怎么办? 当你准备 ...

  9. ActiveReports 9实战教程(2): 准备数据源(设计时、运行时)

    原文:ActiveReports 9实战教程(2): 准备数据源(设计时.运行时) 在上讲中<ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 ...

随机推荐

  1. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  2. d3.csv()后获取的数据不是数组,而是对象

    我的csv文件: year,population 1953,5.94 1964,6.95 1982,10.08 1990,11.34 2000,12.66 2010,13.40 使用d3.csv()输 ...

  3. centos7 永久添加静态路由

    查看路由表 ip route show|column -t route -n 永久添加路由 vim /etc/sysconfig/network-scripts/route-ens224 via 17 ...

  4. 在vultr安装和使用golang

    1.vultr可以用微信或支付宝充值,方便.好像推荐别人用还能挣美分,懒得弄了,参加了一个充10刀送50刀的活动,感觉实惠(实际用时感觉有点小贵). 2.注册登录后,控制面板上billing可查看余额 ...

  5. robotframework上的字体放大和缩小是ctr++和ctl--

  6. 学习storm实现求和操作

    1 storm求和简单操作 主要逻辑,就是spout发送数据源,blot进行处理数据,主要注意的点就是 spout这有个nextTuple自旋,和使用父类的declare..方法声明要发送到下游的名称 ...

  7. MySQL操作(备份很重要)

    文档一: --修改用户密码的命令 mysqladmin -uroot -proot123 password mysql123 --登录mysql数据库的命令 mysql -uroot -proot12 ...

  8. maven导入外部jar包的方法

    maven的导入外部jar包的方法(前提还有外部jar包) 1.问题: 在maven添加依赖包时,添加不成功,可以选择通过外部命令导入到仓库里. 2.命令:(在Dos命令行) mvn install: ...

  9. ansible-playbook(node_exporter)

    roles/node_exporter/tasks/main.yml - name: copy package copy: src=node_exporter-0.17.0.linux-amd64.t ...

  10. http请求方式和传递数据类型

    HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则. GET,通过请求URI得到资源 POST,用于添加新的内容 PUT用于修改某个内容 DELETE ...