datatables基本操作

中文官网:http://datatables.club/
基本手册:http://datatables.club/manual/
在线API:http://datatables.club/reference/
下载:https://github.com/DataTables/DataTables

DataTables 是一个 jQuery 的表格插件。

所需文件:
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" /> 
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css" />  
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.2.4/css/buttons.dataTables.min.css"/>
<script src="http://cdn.gbtags.com/datatables/1.10.5/js/jquery.js"></script> 
<script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>  
<script src="https://cdn.datatables.net/buttons/1.2.4/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script>   
<script src="https://cdn.datatables.net/buttons/1.2.4/js/buttons.html5.min.js "></script> 
<script src="http://cdn.datatables.net/plug-ins/28e7751dbec/integration/bootstrap/3/dataTables.bootstrap.js"></script>

调用实例:

<script type="text/javascript">
  $(document).ready(function() {
    $('#datatables').DataTable({
          "bPaginate": true, //支持分页
          "sPaginationType": "full_numbers",
          "sInfo": "显示 _START_ 至 _END_ 条 &nbsp;&nbsp;共 _TOTAL_ 条",
          "sInfoEmtpy": "没有数据",
          "bStateSave": true,
          "searching":true,
          "lengthChange": true,
          "aLengthMenu": [[30, 50, 70, 100],[30, 50, 70, 100]], //每页显示数量,类似于key => value,一一对应。
        //"paging":true,//取消分页功能
        "ordering":false,//取消升序降序排列功能
        "info":false,//取消显示行数信息的功能Showing 1 to 10 of 57 entries
          "bProcessing": true,
        //"bServerSide": true, //采用通过服务器获取数据的方式
        //"sAjaxSource": "./ajaxlist.php" //动态请求脚本
          "oLanguage" : { // 国际化配置
            "sProcessing" : "正在获取数据,请稍后...",
            "sLengthMenu" : "显示 _MENU_ 条",
            "sZeroRecords" : "没有找到数据",
            "sInfo" : "从 _START_ 到  _END_ 条记录 总记录数为 _TOTAL_ 条",
            "sInfoEmpty" : "记录数为0",
            "sInfoFiltered" : "(全部记录数 _MAX_ 条)",
            "sInfoPostFix" : "",
            "sSearch" : "查 询",
            "sUrl" : "",
              "sEmptyTable":"表中数据为空",
            "sLoadingRecords":"载入中...",
            "oPaginate" : {
                "sFirst" : "第一页",
                "sPrevious" : "上一页",
                "sNext" : "下一页",
                "sLast" : "最后一页"
            }
        },
      "oAria":{
                "sSortAscending":  ": 以升序排列此列",
                "sSortDescending": ": 以降序排列此列"
            },
      "select": {
            "style":    'os',
            "selector": 'td:first-child'
        },
      "dom": 'Bfrtip',
      "buttons": [
           {
                extend: "copy",
                 text:'复制',
                 
                className: "btn-sm"
            },
            {
                extend: "csv",
                  text:'导出excel表',
                className: "btn-sm"
            },
            {
                extend: "print",
                  text:'打印',
                className: "btn-sm"
            },
        ]
    });
  }); 
</script>

 

功能参数(Features)

参数名

说明

参考值

默认值

autoWidth

定义是否由控件自动控制列宽

Boolean

true

deferRender

定义在render时是否仅仅render显示的dom,在显示大量数据的情况下强烈建议设为true,显示少量数据或者真翻页方案可以设为false,注意在设为true时无法通过函数获取所有行的dom对象—因为它们并不存在.

Boolean

false

info

控制总数信息(标准界面右下角显示总数和过滤条数的控件)的显隐

Boolean

true

lengthChange

控制是否能够调整每页的条数,如果设为false,标准的每页条数控制控件也会被隐藏.

Boolean

true

ordering

全局控制列表的所有排序功能.

Boolean

true

paging

全局控制列表的翻页功能,如果设为false,所有的默认翻页控件会被隐藏

Boolean

true

processing

控制是否在数据加载时出现”Processing”的提示,一般在远程加载并且比较慢的情况下才会出现. 样式需要定义,否则比较丑.

Boolean

false

scrollX

控制在列过多过宽是,是否出现水平滚动条.注意使用这个参数时最好关闭响应式设计

Boolean

false

scrollY

定义一个高度,当列表内容超过这个高度时,显示垂直滚动条,这个高度不算表头和翻页搜索等工具条的空间.支持数字或者css写法比如:

200或者’200px’

Number /   String

searching

控制控件的搜索功能,如果为false,控件的搜索功能被完全禁用,而且默认搜索组件会被隐藏.

Boolean

true

serverSide

当设为true时,列表的过滤,搜索和排序信息会传递到Server端进行处理,实现真翻页方案的必需属性.反之,所有的列表功能都在客户端计算并执行

Boolean

false

 

 

数据参数(Data)

参数名

说明

参考值

data

以Javascript数组对象方式设定列表显示数据

数组对象

ajax

String模式: 直接传入一个string作为远程ajax请求路径

String

 

对象模式: 支持JQuery.ajax函数的参数设置,支持type,url等标准参数. 例如:

$('#example').dataTable( {

"ajax": {

    "url": url,

    "type": "POST"

   }

} );

JQuery ajax 函数对应参数

ajax.data

和标准JQuery.ajax的data参数作用类似,但效果有所不同.仅当serverSide参数为true的时候,参数属性才有意义,当serverSide开启,DataTables组件会自行封装一个信息类发送给服务端,而ajax.data仅仅是对这个信息类进行调整和添加.

 

添加方式, ajax.data可以直接赋值一个对象,这个对象的属性会添加到原信息类里面去一起发送到服务端.例如:

 

$('#example').dataTable( {

    "ajax": {

      "url": "data.json",

      "data": {

          "user_id": 451

    }

  }

} );

 

另外一种选择是传入一个方法,方法的参数就是当前发送到服务器的信息类,在方法中可以修改这个信息类.

 

$('#example').dataTable( {

  "ajax": {

    "url": "data.json",

    "data": function ( d ) {

        d.extra_search = $('#extra').val();

    }

  }

} );

对象或者方法

ajax.dataSrc

定义服务器返回对象里面保存数据的属性名称,默认为data,也即是说,在返回的Json数据中,所有列表数据保存在data属性中,这个属性不太建议修改.

 

配置参数(Options)

参数名

说明

参考值

默认值

deferLoading

这个参数只有在ServerSide为Ture的时候才有作用,主要是针对列表已经通过HTML显示了一部分数据,而通知远程加载可以忽略这部分数据,在实际使用中这种情况并不常见.

Number   /Array

false

destroy

设为ture时通知dataTable函数完全重新建立一个新的控件实例,在一个页面内反复对同一个控件加载dataTable函数并且想重新建立控件时使用.

Boolean

false

displayStart

列表初始显示的行索引,根据给出的行索引会自动翻页,比如一个每页10个的列表,那么给出20可以让其翻到第二页

Number

dom

比较复杂的配置项,简言之就是通过一个自定义的字符串来定义DataTables里面所有组件的显示,位置和显隐.

具体请详见:

http://datatables.net/reference/option/dom

String

“lfrtip”

lengthMenu

定义页面长度组件里面的选项.

Array

[ 10, 25,   50]

orderCellsTop

当然表头有多层td组成的时候,必须定义哪一个td的数据用于排序,false表示底部td,true表示顶部td. 比如以下情况:

                       
   

1

   
   

2.1

   
   

2.2

   

 

true的时候排序会用2.1, false的时候排序会用2.2.

Boolean

false

orderClasses

定义是否排序的列进行高亮显示

Boolean

true

order

定义列表的初始排序设定,为一个2维数组,子数组包括2个值,列索引和排序方向(asc/desc): 例如

"order": [[ 0, 'asc' ], [ 1, 'asc' ]]

Array

[[0, 'asc']]

orderMulti

控制是否支持多重排序,如果为true,可以通过shift+点击列头实现多重排序,或者通过API实现,否则禁用该功能.

Boolean

true

orderFixed

自定义固定的排序策略,该策略在任何排序操作中总是起效.可以通过对一个列的固定排序(可以是隐藏的列)来定义列表默认的排序策略.

数组方式,定义优先排序策略,如:

"orderFixed": [ 0, 'asc' ]

该参数说明无论如何排序,永远先进行第一列的正向排序.

对象方式,可以利用关键字pre或post来定义这个规则是优先生效还是置后生效.

"orderFixed": {

          "pre": [ 0, 'asc' ],

          "post": [ 1, 'asc' ]

    }

Array/Object

pageLength

定义初始的页长

Number

10

pagingType

定义翻页组件的样式(有4个选择):

simple -  只有上一页和下一页2个按钮

simple_numbers   – 上一页,下一页和页码

full – 首页,末页,上一页,下一页4个按钮

full_numbers   – 全部按钮和页面

String

simple_numbers

scrollCollapse

在设置了一定的scrollY值后起效,为true时,当列表内容不足以撑满scrollY的设定值时,列表高度会自动适应内容.

Boolean

false

search

定义列表的初始搜索/过滤条件

Search对象可以有以下属性:

Object

search.search

过滤字符串,注意在默认设置下,所有列的数据都会参与过滤.比如当这个属性为”a”的时候,任何一个列只要包含”a”的行就会被显示.为空表示全部

String

search.caseInsensitive

搜索是是否忽略大小写,true为忽略

Boolean

true

search.regex

定义搜索字符串是否为一个正则表达式

Boolean

fasle

search.smart

禁用获取启用DataTables控件内置的只能过滤算法,这个算法会把搜索字符串进行分割并只能搜索,关闭这个算法仅仅实现简单的字符串查找,false为关闭

Boolean

true

searchCols

分别定义每个列的过滤条件.该参数是一个对象数组,每个对象有2个属性:

search: 搜索字符串

escapeRegex:   是否是正则表达式

注意不需要设置过滤的列也需要用null占位,比如:

"searchCols": [

    null,

    {   "search": "My filter" },

    null,

    {   "search": "^[0-9]", "escapeRegex": false }

  ]

Array

stripeClasses

定义一个字符串数组,在显示行的时候依次使用里面的字符串作为行的class

Array

‘odd’ & ‘even’

列定义参数(Columns)

参数名

说明

参考值

默认值

columns

列的初始状态的定义,该参数一个是对象数组,每一个对象元素定义一个列.注意,不需定义的列也必须以null占位,比如:

"columns": [

    {   "searchable": false },

    null,

null

 ]

Array

columnDefs

和columns设置非常类似,但可以通过targets属性可以根据灵活的选择需要设定的列.比columns更加灵活.比如:

"columnDefs": [ {

        "targets": 0,

        "searchable": false

} ]

targets可以有多种写法:

0或者正整数(可用数组): 表示正向列的索引

负数(可用数组): 表示反向列的索引

字符串: 匹配th的class来选择列.

"_all":   所有列,也是默认值.

 

 

columns.data

列的数据名,对应数据里面的属性名

String

columns.name

给列设置独立的名称,目前看意义不大

String

columns.orderable

设置列是否允许排序

Boolean

true

columns.searchable

设置列是否允许过滤

Boolean

true

columns.type

通过设置列的类型让控件在排序和过滤这个列是能更好的处理这个列的数据,比如日期,货币等.具体种类很多请参考这里:

http://datatables.net/reference/option/columns.type

String

columns.visible

设置列的可见性,true为显示

Boolean

true

columns.width

强行设置列的宽度,支持数字和任何CSS写法,比如20%.

String

columns.render

非常有用的函数,自定义列的内容.该属性比较常见的用法是函数用法,通过这个函数可以自定义改造列的任何内容,如果要在列中显示比较复杂的内容,这是一个比较好的选择.比如在列中加入功能按钮.

例如:

"render": function ( data, type, row,   meta ) {

      return   '<a href="'+data+'">Download</a>';

}

4个属性的意思是:

data : 当前单元格的数据

type: 当前列的类型

row: 当前行完整的数据对象

meta: 为一个子对象,包含3个属性

   row: 当前行的索引

   col: 当前列的索引

   settings: 当前DataTables控件的setttings对象

Function

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据来源:中经数据库 主要指标110多个(全部都是纯粹的 市辖区 指标),大致是: GDP GDP增速 第一产业增加值占GDP比重 第二产业增加值占GDP比重 第三产业增加值占GDP比重 人均GDP 社会消费品零售总额 固定资产投资(不含农户) 新设外商投资企业数_外商直接投资 实际利用外资金额(美元) 一般公共预算收入 一般公共预算支出 一般公共预算支出_教育 一般公共预算支出_科学技术 金融机构人民币各项存款余额_个人储蓄存款 金融机构人民币各项存款余额 金融机构人民币各项贷款余额 规模以上工业企业单位数 规模以上工业企业单位数_内资企业 规模以上工业企业单位数_港澳台商投资企业 规模以上工业企业单位数_外商投资企业 规模以上工业总产值 规模以上工业总产值_内资企业 规模以上工业总产值_港澳台商投资企业 规模以上工业总产值_外商投资企业 规模以上工业企业流动资产合计 规模以上工业企业固定资产合计 规模以上工业企业利润总额 规模以上工业企业应交增值税 规模以上工业企业主营业务税金及附加 户籍人口数 年均户籍人口数 户籍人口自然增长率 第一产业就业人员占全部城镇单位就业人员比重 第二产业就业人员占全部城镇单位就业人员比重 第三产业就业人员占全部城镇单位就业人员比重 城镇非私营单位就业人员数 城镇非私营单位就业人员数_第一产业 城镇非私营单位就业人员数_第二产业 城镇非私营单位就业人员数_第三产业 城镇非私营单位就业人员数_农、林、牧、渔业 城镇非私营单位就业人员数_采矿业 城镇非私营单位就业人员数_制造业 城镇非私营单位就业人员数_电力、热力、燃气及水生产和供应业 城镇非私营单位就业人员数_建筑业 城镇非私营单位就业人员数_批发和零售业 城镇非私营单位就业人员数_交通运输、仓储和邮政业 城镇非私营单位就业人员数_住宿和餐饮业 城镇非私营单位就业人员数_信息传输、软件和信息技术服务业 城镇非私营单位就业人员数_金融业 城镇非私营单位就业人员数_房地产业 城镇非私营单位就业人员数_租赁和商务服务业 城镇非私营单位就业人员数_科学研究和技术服务业 城镇非私营单位就业人员数_水利、环境和公共设施管理业 城镇非私营单位就业人员数_居民服务、修理和其他服务业 城镇非私营单位就业人员数_教育 城镇非私营单位就业人员数_卫生和社会工作 城镇非私营单位就业人员数_文化、体育和娱乐业 城镇非私营单位就业人员数_公共管理、社会保障和社会组织 城镇非私营单位在岗职工平均人数 城镇就业人员数_私营企业和个体 城镇非私营单位在岗职工工资总额 城镇非私营单位在岗职工平均工资 城镇登记失业人员数 建成区面积 建设用地面积 建设用地面积_居住用地 液化石油气供气总量 液化石油气供气总量_居民家庭 人工煤气、天然气供气总量 人工煤气、天然气供气总量_居民家庭 液化石油气用气人口 人工煤气、天然气用气人口 城市公共汽电车运营车辆数 城市出租汽车运营车辆数 城市公共汽电车客运总量 道路面积 排水管道长度 建成区绿化覆盖面积 建成区绿化覆盖率 绿地面积 公园绿地面积 维护建设资金支出 土地面积 生活用水供水量 供水总量 全社会用电量 城乡居民生活用电量 工业生产用电量 房地产开发投资 房地产开发投资_住宅 限额以上批发和零售业法人单位数 限额以上批发和零售业商品销售总额 普通中学学校数 中等职业教育学校数 普通小学学校数 普通高等学校专任教师数 普通中学专任教师数 中等职业教育专任教师数 普通小学专任教师数 普通高等学校在校生数 普通中学在校生数 中等职业教育在校生数 普通小学在校生数 电视节目综合人口覆盖率 公共图书馆总藏量_图书 医疗卫生机构数_医院和卫生院 卫生人员数_执业(助理)医师 医疗卫生机构床位数_医院和卫生院 城镇职工基本养老保险参保人数 职工基本医疗保险参保人数 失业保险参保人数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值