http://www.datatables.club/example/#styling

Datatables快速入门开发--一款好用的JQuery表格插件

 

  博主是一个java后端程序员,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jquery表格插件,上手很快,重点是超级好用,有完善的中文文档,今天有空,整理一下Datatable的一些使用方法及注意事项,以便随时查阅.

DataTables支持的功能:

  1.分页,只需要返回符合规范的数据类型,Datatable能帮我们实现好用的分页,同时支持排序,和即时搜索.

  2.丰富的数据源的支持

  3,支持国际化,支持多种主题.

快速使用

  1.使用Datatables非常简单,只需要引入一个css样式文件和一个js脚本文件,即可,官网提供了文件的cdn地址可直接引用.

  CSS: //cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css

  JS:   //cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js

  2.js中,使用一下简单的几行代码,就能初始化datatables风格的表格样式,并使用Datatable提供的丰富功能.

  1. 1 $(document).ready(function(){
  2. 2 $('#myTable').DataTable();
  3. 3 });

  html页面中的table标签定义一个id,比如id="myTable".

丰富配置项

  以上就可以实现基本风格的datatables样式,datatables默认情况下已启用一些功能,比如搜索,排序,分页,要想更加自由的控制样式,我们需要更详细的配置.

DOM定位

  dom定位可以实现你自由的布局 分页,搜索框等等这些组件,以下是一些组件以及字符缩写.

  • l - Length changing 每页显示多少条数据选项
  • f - Filtering input 搜索框
  • t - The Table 表格
  • i - Information 表格信息
  • p - Pagination 分页按钮
  • r - pRocessing 加载等待显示信息

  如果我们使用下面的代码来控制样式,表示 i显示在top(顶部),flp显示在bottom(底部).这样就可以自定义组件位置了.

  1. $('#example').dataTable( {
  2. "dom": '<"top"i>rt<"bottom"flp><"clear">'
  3. } );

国际化配置

  datatables使用的语言选项可以通过language来配置,语言配置作为初始化配置的一部分,可以通过一下配置来自定义页面各个地方的显示文本.  

  1. $('#example').DataTable({
  2. language: {
  3. "sProcessing": "处理中...",
  4. "sLengthMenu": "显示 _MENU_ 项结果",
  5. "sZeroRecords": "没有匹配结果",
  6. "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
  7. "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
  8. "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
  9. "sInfoPostFix": "",
  10. "sSearch": "搜索:",
  11. "sUrl": "",
  12. "sEmptyTable": "表中数据为空",
  13. "sLoadingRecords": "载入中...",
  14. "sInfoThousands": ",",
  15. "oPaginate": {
  16. "sFirst": "首页",
  17. "sPrevious": "上页",
  18. "sNext": "下页",
  19. "sLast": "末页"
  20. },
  21. "oAria": {
  22. "sSortAscending": ": 以升序排列此列",
  23. "sSortDescending": ": 以降序排列此列"
  24. }
  25. }
  26. });

限制水平宽度/垂直高度

  如果需要在一个定宽或者定高的table里展示数据,为了能够展示所有的数据,就要限制宽度,或高度,使用垂直或水平滚动条,在Datatable中使用如下配置:

  1. $(document).ready(function() {
  2. $('#example').dataTable( {
  3. //开启水平滚动条
  4. "scrollX": true
  5. //设置固定高度为200px 数据量溢出时出现滚动条
  6. "scrollY": "200px",
  7. "scrollCollapse": "true",
  8. //不启用分页(展示所有)
  9. "paging": "false"
  10. } );
  11. } );

其他配置功能:

  1. $(document).ready(function() {
  2. $('#example').dataTable( {
  3. //禁用分页
  4. "paging": false,
  5. //禁用排序
  6. "ordering": false,
  7. //禁用本地搜索
  8. "searching":false,
  9. //开启选择每页显示多少记录的下拉框 如果pageing配置为false,此配置会自动置为false
  10. "lengthChange":true,
  11. //是否显示正在处理的状态。开启后在数据加载过程中,会有正在加载状态
  12. "processing": "true"
  13. //是否显示正在处理的状态。开启后在数据加载过程中,会有正在加载状态,在处理耗时数据时比较有用
  14. "processing": "true"
  15. //开启延迟渲染,假设加载1000条数到表格.每页显示10条,开启后datatables只会创建10个节点,即根据分页的生命周期来创建行
  16. "deferRender": true
  17. //禁用自动列宽的计算,如果以自定义列宽,建议禁用,因为此操作会耗费一些额外时间计算列宽
  18. "autoWidth": false,
  19. //禁用状态保存 开启后再次加载页面表格状态会被设成之前的状态
  20. "stateSave" : false,
  21. } );
  22. } );

数据源

  这里主要讲解ajax获取对象数据

  1. $(document).ready(function() {
  2. $('#example').DataTable( {
  3. //ajax可以接收string,object,fucntion
  4. "ajax": {
  5. //type url 不需多说
  6. "type": "POST",
  7. "url":$('#game_detail_data').attr("data-url"),
  8. //从服务器获得json数据,使用dataSrc属性把data改为aodata
  9. "dataSrc": "aoData",
  10. //请求参数,添加额外的参数发送到服务器 接受一个fucntion
  11. "data":function(d){
  12. d.pageType='DETAIL';
  13. d.channelName=$("#channelname").val().trim();
  14. d.tag=$("#tag").val();
  15. d.startTime=$("#startTime").val();
  16. d.endTime=$("#endTime").val();
  17. }
  18. },
  19. //返回数据是对象列表的时候需要使用如下方式与列名一一对应好
  20. "columns": [
  21. { "data": "name" },
  22. { "data": "age" },
  23. { "data": "sex",
  24. //渲染数据显示在表格中,render可以让你在table显示非常多样化的格式
  25.         "render" : function(data, type, full, meta) {
  26.           if(data=='boy'){
  27.            data ="男";
  28.            }else{
  29.            data ="女";
  30.      }
  31. return data;
  32. }},
  33. },
  34. { "data": "phone" },
  35. { "data": "address" },
  36. { "data": "salary" }
  37. ]
  38. } );
  39. } );

回调函数

  datatable支持在数据初始化的各个时机进行一些自定义操作,下面说两个比较常用的:

  1. $('#example').dataTable( {
  2. //数据初始化表格绘制成功后调用此函数
  3. "initComplete": function() {
  4. alert( '初始化以后调用' );
  5. }
  6. //每次表格重绘的时候都调用这个函数
  7. "drawCallback": function( settings ) {
  8. alert( '每次表格重绘时调用' );
  9. }
  10. } );

参考文档

  Datatables官方文档

  

 
 
标签: jquery

JQuery表格插件的更多相关文章

  1. 25款顶级的jQuery表格插件

    jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...

  2. 推荐几款jQuery表格插件

    平时项目中,会碰到很多表格元素,这里推荐几款jQuery表格插件. Stackable.js 通常在小屏幕上,表格的表形形式不大好,因为用户会缩放平移,或者就是表格太小,导致数据不可见.Stackab ...

  3. jQuery 表格插件25

    jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...

  4. Datatables快速入门开发--一款好用的JQuery表格插件

    博主是一个java后端程序员小白,前端技术会用但不精通,做后台的一些功能经常要涉及表格的展示,分页,搜索,排序等等一系列功能,在经历了一段时间的原始手段,开始接触并使用Datatables,一个jqu ...

  5. 25个顶级的jQuery表格插件

    jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...

  6. 一款比较强大的jquery表格插件Datatables

    Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 链接:http://www.datatables.club/ 本人无聊时发现的一款用 ...

  7. jquery表格插件Datatables使用、快速上手

    Datatables使用 一.简介 官网:https://datatables.net/ 中文官网:http://datatables.club/ Datatables是一款jquery表格插件.它是 ...

  8. 15 个最佳的 jQuery 表格插件

    现如今,网站开发设计的需求会要求自动适应所有移动设备,即响应式网站: 在开发网站时必须考虑对平板设备融合 fluid(流)和自适应性特点. 大多数网站设计要靠margins, guides, rows ...

  9. 自定义jquery表格插件

    以前一直都是再用easyui插件来实现各种功能,但是easyui太过于庞大,使用越多对服务器负载影响越大. 基于此,在模仿easyui的dataGrid表格插件的同时,自己去封装了一个.实现了基本的j ...

随机推荐

  1. 【刷题】BZOJ 3033 太鼓达人

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  2. sql server 小技巧(4) Sql server 排序时让空值排在最后

    order by  coalesce( u.sort, 2147483647) sql server 小技巧 集锦

  3. bzoj3612 平衡 (dp)

    设f[i][j]为把i拆成j个不重复的.大于0小于等于N的数的方案数 我们考虑一个方案是怎么来的:(初始状态是f[0][0]=1) 如果这个方案里有1,那它是先把原来的状态的每个数加1.然后再增加一个 ...

  4. SQLServer过期的解决方案

    看图吧,不喜欢说话,图里面我都打备注了 0SQLService异常 1找到安装中心 2升级版本 3监测ing 4输入升级key 5同意并下一步 6下一步 7下一步 8下一步 9收工 10可以打开了

  5. Chart Controls 简介与下载

    虽然博客园已有人介绍过了,还是忍不住介绍一下微软这套免费又功能强大的图表控件「Microsoft Chart Controls for Microsoft .NET Framework 3.5」.本帖 ...

  6. 网络获取json数据并解析

    1.升级流程分析

  7. C#实现物联网系统温度解析的函数(支持补码)

    基于物联网协议上传数据,其中温度占两个字节,如01 27,表示温度值为29.7.温度负值为补码(也就是温度值为有符号数),例如0XFFFF值为负1(-0.1度). 针对补码要求,修改数据解析函数如下: ...

  8. 将网页设置为允许 XMLHttpRequest 跨域访问

    在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Java Response.AddHeader("A ...

  9. HTML5 移动开发(移动设备检测及对HTML5的支持)

    1.如何选择要使用的特性以及所面向的浏览器 2.哪些浏览器支持HTML5 3.如何检测是否支持HTML5 4.如何开发贷容错性的Web应用程序 5.CSS3媒体查询如何增强检测脚本   使用HTML5 ...

  10. 图的最短路径-----------SPFA算法详解(TjuOj2831_Wormholes)

    这次整理了一下SPFA算法,首先相比Dijkstra算法,SPFA可以处理带有负权变的图.(个人认为原因是SPFA在进行松弛操作时可以对某一条边重复进行松弛,如果存在负权边,在多次松弛某边时可以更新该 ...