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 $(document).ready(function(){
2         $(‘#myTable‘).DataTable();
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(底部).这样就可以自定义组件位置了.

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

国际化配置

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

$(‘#example‘).DataTable({
    language: {
        "sProcessing": "处理中...",
        "sLengthMenu": "显示 _MENU_ 项结果",
        "sZeroRecords": "没有匹配结果",
        "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
        "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
        "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
        "sInfoPostFix": "",
        "sSearch": "搜索:",
        "sUrl": "",
        "sEmptyTable": "表中数据为空",
        "sLoadingRecords": "载入中...",
        "sInfoThousands": ",",
        "oPaginate": {
            "sFirst": "首页",
            "sPrevious": "上页",
            "sNext": "下页",
            "sLast": "末页"
        },
        "oAria": {
            "sSortAscending": ": 以升序排列此列",
            "sSortDescending": ": 以降序排列此列"
        }
    }
});

限制水平宽度/垂直高度

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

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

其他配置功能:

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

数据源

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

$(document).ready(function() {
    $(‘#example‘).DataTable( {
//ajax可以接收string,object,fucntion
        "ajax": {
                //type url 不需多说
                "type": "POST",
                "url":$(‘#game_detail_data‘).attr("data-url"),
                //从服务器获得json数据,使用dataSrc属性把data改为aodata
                "dataSrc": "aoData",
               //请求参数,添加额外的参数发送到服务器 接受一个fucntion
                "data":function(d){
                    d.pageType=‘DETAIL‘;
                    d.channelName=$("#channelname").val().trim();
                    d.tag=$("#tag").val();
                    d.startTime=$("#startTime").val();
                    d.endTime=$("#endTime").val();
                }
            },
       //返回数据是对象列表的时候需要使用如下方式与列名一一对应好
        "columns": [
            { "data": "name" },
            { "data": "age" },
            { "data": "sex",
       //渲染数据显示在表格中,render可以让你在table显示非常多样化的格式
        "render" : function(data, type, full, meta) {
              if(data==‘boy‘){
                  data ="男";
              }else{
                  data ="女";
                     }
                   return  data;
}},
 },
            { "data": "phone" },
            { "data": "address" },
            { "data": "salary" }
        ]
    } );
} );

回调函数

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

$(‘#example‘).dataTable( {
//数据初始化表格绘制成功后调用此函数
  "initComplete": function() {
    alert( ‘初始化以后调用‘ );
  }
//每次表格重绘的时候都调用这个函数
"drawCallback": function( settings ) {
        alert( ‘每次表格重绘时调用‘ );
    }
} );

参考文档

  Datatables官方文档

  

时间: 2024-12-28 20:43:17

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

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

Daydream从入门到精通——快速入门开发基础教程二:Android端开发环境配置二

开始部署 上篇介绍了开发Daydream Android VR需要的基本环境,这篇我们来看看如何部署和运用官方示例. -------------------------------------------------------------------------------------------------------------------- Daydream快速入门开发基础教程一:Android端开发环境配置一 http://blog.csdn.net/jaikydota163/arti

为开发者们准备的 10 款超棒的 jQuery 视频插件

jQuery 是一种快速.简洁的 JavaScript 库,可以简化 HTML 文档遍历.事件处理.动画和 Ajax 交互,能快速进行 web 开发.一个 jQuery 插件基本上是一种新方法,用来扩展 jQuery 原型对象.当扩展原型对象时,所有的 jQuery 对象就会启用并且能够添加和继承其他的任何方法. 1. Bigvideo.js BigVideo.js 是一个 jQuery 视频插件,能让用户很方便将视频作为网站的背景并且能够生成自适应的视频背景.它可以播放一个无声视频(或一系列视

大爱jQuery,10款漂亮实用的jQuery/CSS3插件(整合免积分下载)

整合下载地址:http://download.csdn.net/detail/yangwei19680827/7343001 jQuery真的是一款很犀利的Javascript框架,利用jQuery我们可以做出很多非常酷而且实用的应用插件,我真的很爱jQuery,下面的这10款jQuery插件你也一定会喜欢的. 1.jquery鼠标悬停变暗突出显示特效 jquery鼠标悬停变暗突出显示特效是一款效果非常棒的jquery带开关灯效果的jquery相册插件Album 在线演示    /    源码下

25款顶级的jQuery表格插件

jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用文本和图片进行填充.我用了顶级的来形容这个些插件,我可以肯定你了解它们之后会觉得很酷. 1. Gridify Gridify 是轻量级的 jQuery 插件,用来创建一个类似 Pinterest 图片加载网格插件.支持图像加载事件,支持窗口缩放事件,支持非常长的高度项,支持动态项宽度,支持动画 (C

web多终端开发学习系列(三)--- 基于bootstrap的表格插件bootstrap-table

基于网页管理系统的开发大多数功能只是对数据的显示与操作,对于数据的显示一般都是通过table表格来显示,所以管理系统的开发很有必要引入表格插件,对于sencha touch等商业化框架,都有自己自带的表格控件,而对于bootstrap需要引入第三方的表格插件,这里我学习下bootstrap table. 介绍 bootstrap table是基于bootstrap框架的一个表格插件,官网地址是http://wenzhixin.net.cn/p/bootstrap-table/docs/index

程序员带你学习安卓开发,十天快速入门-开发工具配置学习

上次课程:.Net程序员学习Android开发-第一课 讲到,.Net程序员学习Android开发的必要性以及对安卓大环境的相关介绍. 其中看到有网友评论,称,搞C#的去搞安卓,还怪自己的移动平台不给力.有的人说,学习.Net就学.Net学习什么安卓.这时的我首先想到了,固步自封的大清朝.当然并不是对这部分人排斥.只能说是想法不一致,认知略有不同,也没有错与对,我只是想把我自己的想法表达出来,期望与您产生共鸣.的确迄今为止,我仍然认为C#是当今我见过的最好的语言.设计规范语法总使我赶到兴奋其优美

1、HTML+DIV+CSS零基础快速入门到制作企业站视频课程_3 表格标签&lt;table&gt;

HTML <table> 标签 定义和用法 <table> 标签定义 HTML 表格. 简单的 HTML 表格由 table 元素以及一个或多个 tr.th 或 td 元素组成. tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元. 更复杂的 HTML 表格也可能包括 caption.col.colgroup.thead.tfoot 以及 tbody 元素. 1 <!DOCTYPE html> 2 <html lang="en"&

分享一款超棒的jQuery旋钮插件 - jQuery knob

转自:http://www.cnblogs.com/gbin1/archive/2012/05/08/2489908.html 在线演示  本地下载 如果你也在寻找一款生成漂亮旋钮(knob)的jQuery插件的话,那么今天我们介绍的jQuery knob肯定是一个不错的选择.它使用canvas帮助我们生成超酷的旋钮特效,你可以使用插件选项或者HTML5的data属性来自定义设置插件属性,方便简捷并且优雅,我相信大家肯定会喜欢这个超酷的jQuery插件,如果你有任何问题活着建议请给我们留言! 主