DataTables 控件使用和心得 (1) - 入门

什么是DataTables

  • DataTables是一个基于HTML/CSS/JavaScript的前端列表组件.
  • 基于JQuery
  • 开源并且免费(除特殊支持服务)
  • 主要特色: 高性能,响应式,功能完整
  • 主网站为http://www.datatables.net/

DataTables的优势

完整全面的功能

其开发团队已经注入了大量心血,功能非常完整,已经可以适应绝大多数前端列表的开发需求.

丰富的API和支持

具有相当丰富的参数(Options)和函数(API)对控件进行定义和控制,实现各种灵活的配置和功能.

本身虽然为开源免费软件,但支持力度很高,更新频繁;主网站内容丰富,详尽.另外也提供付费的支持服务.

优秀的质量,稳定性和性能

声称有2900+套单位测试代码的支持;其主JS库压缩以后只有26K;另外其核心Render机制,是仅仅Render列表的显示部分内容(10000条数据200页,仅仅Render1页50条数据),为稳定高效提供了基础.

丰富的功能

目前比较有价值的功能包括

  • 支持Ajax数据获取,提供真分页实现方案.
  • 提供多种常见主题支持DataTables, jQuery UI, Bootstrap, Foundation
  • 完全支持响应式设计
  • 完美支持排序,翻页,自定义行列显隐,样式和内容.
  • 自动控制列宽.
  • 灵活控制表格的滚动条设定.
  • 多语言支持
  • 另外通过扩展功能还可以实现
    •   列的拖动
    •   单列过滤
    •   行或列的固定
    •   表格内编辑
    •   少量类Excel功能(如键盘选择,拖动赋值)
    •   Excel, PDF导出功能

DataTables的安装

第一步: 下载并引入DataTables的主JS文件: jquery.dataTables.js或者jquery.dataTables.min.js

也可以使用CDN:

官方CDN: http://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js

Bootstrap CDN:  http://cdn.bootcss.com/datatables/1.10.6/js/jquery.dataTables.min.js

另外如果希望引入CSS,可以下载官方提供的几种常见的CSS样式:

http://www.datatables.net/manual/styling/

第二步: 对页面的指定列表元素调用DataTables组件

$(document).ready(function() {
    $(‘#example‘).dataTable();
} );
  • #example对应了id=example的一个table元素.
  • 一般来说dataTable函数会以一个对象为参数,这个参数对象就是DataTables的Options,这些Options用于控制列表控件的各种特性.(关于Options的具体内容我们以后讨论,也可以参阅官方文档)

当然,在没有任何Options的情况下,DataTables是给出了一个标准的界面,如下图:

左上是页内条数控制(默认为1页10个),右上是简单搜索功能,中间是列表主体,左下是分页信息,右下是分页控制.这些控件都可以通过Options进行显隐, 控制和自定义.

DataTables常见的3种数据方式

HTML数据

所有数据在指定的Table元素中以TR,TD方式已经存在,这个时候,调用默认的dataTable函数就可以实现该组件的默认功能. 调用方式与标准模式类似.

$(document).ready(function() {
    $(‘#example‘).dataTable();
} );

JS对象数据

指定的Table元素中不需要有任何数据.dataTable函数通过一个JS数组对象把数据加载到控件中去.写法如下:

$(‘#example‘).dataTable( {
      "data": dataSet
    } );   

注意,dataset是一个数组对象,一般的格式是: [obj1,ojb2,ojb3….] , 每一个obj对象对应每一行的数据, 这个对象的属性会被依次绑定到每一个列中.

远程数据

通过Ajax从远程获取Json数据,并绑定到控件中去,写法如下:

 $(‘#example‘).dataTable( {
        "ajax": url
    } );

url为远程请求的地址.

这里需要特别注意的是,由于dataTables内部实现机制,其返回的json并不是一个简单的数组对象,而是一个包含一个data属性的对象,具体格式参考如下:

{ “data” : [obj1,obj2,obj3……] }

DataTables常见问题

对于后面2中数据加载模式,我们可以想到,原Table元素中的<tbody>中是不需要定义任何内容的.但<thead>可以有2个选择,通过HTML定义,dataTable函数绑定; 或者完全由dataTable绑定和生成.如果是完全由dataTable控件生成,其写法如下:

  $(‘#example‘).dataTable( {
        "data": dataSet,
        "columns": [
            { "title": "Engine"},
            { "title": "Browser"},
            { "title": "Platform"},
            { "title": "Version", "class": "center"},
            { "title": "Grade", "class": "center"}
        ]
    } );   

当然就算是用HTML定义<thead>,但数据中属性的顺序和<th>的顺序不同,或者有些属性并不需要显示出来,该怎么办呢, 依然可以通过columns配置属性来进行定义.

$(‘#example‘).dataTable( {
        "data": dataSet,
        "columns": [
            { "data": "Engine"},
            { "data": "Browser"},
            { "data": "Platform"},
            { "data": "Version"}
        ]
    } );   

另外在使用标准dataTable函数以后,以上3种数据方式加载的列表,都可以完美的实现,简单搜索,分页和排序功能(真翻页的实现要稍微复杂一点,这个后续文章再进行描述).

这篇文章仅仅是入门级的,让大家初步了解这个组件的基本面貌,一些比较详尽的内容我会在随后的博文中讨论,如果大家有兴趣了解这个控件,或者已经在使用这个控件,希望和我交流的,还请不吝赐教.

时间: 2024-11-03 22:41:07

DataTables 控件使用和心得 (1) - 入门的相关文章

DataTables 控件使用和心得 (2) - 参数Options

什么是DataTables参数(Options) 上篇我们说了,DataTables控件的加载函数dataTable()一般都有一个对象参数,这个对象参数就是整个DataTables控件的参数(Options),通过定义这个参数中的各种属性,来灵活控制DataTable的初始效果. 样例代码如下: $('#example').dataTable({ “option1”:value1, “option2”:value2, … }); 官方文档地址: http://datatables.net/re

谷歌约束控件(ConstraintLayout)扁平化布局入门

序 在Google IO大会中不仅仅带来了Android Studio 2.2预览版,同时带给我们一个依赖约束的库. 简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件之间的关系. 她能让你的布局更加扁平化,一般来说一个界面一层就够了:同时借助于AS我们能极其简单的完成界面布局. 准备 1.准备好Android Studio 2.2预览版,在这里给大家准备好了下载链接: https://dl.google.com/dl/android/studio/ide-zip

tab控件的使用心得

现在要做一个登陆系统,功能包括注册消息,修改消息,登陆等等.考虑使用tab控件来将所有功能都集中在一个对话框中实现. step1  在主对话框中拖入一个tab控件,命名随意,在ClassWizard为控件添加变量, 变量名为m_tab. 类型为CTabCtrl. step2  为tab控件中每一个选项卡初始化名称.例如将第一个选项卡命名为“登陆”的代码:m_taboption.InsertItem(0, "登陆").以此类推. step3  有几个选项卡新建几个对话框资源,并将在主对话

ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)

UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新.通过本文来学习一下UpdatePanel简单的使用方法(第一篇). 主要内容 1.UpdatePanel控件概述 2.UpdatePanel工作原理 3.ContentTemplate属性 4.ContentT

Datatables表格控件的使用相关网站及遇到的问题

1.官网教程链接:http://www.datatables.net/ 2.基础使用可参考他人博客链接:http://blog.csdn.net/mickey_miki/article/details/8240477,这个网址上的信息很全. 3.自己碰到的问题(本人后台使用Java开发): Question1:datatables 可以实现实时搜索数据列表,可如何将参数传入后台?(请查看思路和代码)                              (1)设置searching: tru

WP8.1学习系列(第十一章)——中心控件Hub开发指南

在本文中 先决条件 什么是中心控件? 添加中心控件 将分区添加到中心 添加交互式分区头用于导航 将展示磁贴添加到中心 使用窄应用中的垂直中心 借助中心使用语义式缩放视图 摘要和后续步骤 重要的 API Hub HubSection SemanticZoom 使用 Hub 控件创建一个进入应用的入口页.Hub 控件在丰富的平移视图中显示内容,这样用户一眼就能看见新鲜有趣的内容,从而吸引他们深入了解你的应用中的更多内容. 先决条件 查看并了解 Windows 导航模式. 查看并了解中心控件指南. 我

WPF Step By Step 控件介绍

WPF Step By Step 控件介绍 回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些 例子,希望我们可以对WPF的掌握会更深刻.本文涉及的内容可能较多.请大家慢慢看看.错误之处,还请指出. 本文大纲 1.基本控件介绍与用法. 基本控件介绍与用法 文本控件 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label

WPF基本控件介绍

回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些例子,希望我们可以对WPF的掌握会更深刻.本文涉及的内容可能较多.请大家慢慢看看.错误之处,还请指出. 本文大纲 1.基本控件介绍与用法. 基本控件介绍与用法 文本控件 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件的值记住:不是Text 而是 Conten

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 &amp; 大型控件的ImageField)

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.com.tw/mis2000lab/archive/2014/05/19/ashx_beginner_05_db_picture_show_download.aspx 根据前面三篇文章的教学 完成后可以做出来  (请您务必依照顺序学习,不要只是找范例来Copy) [.ashx檔?泛型处理程序?]基础入门#1.