Datatables基本初始化

news/2024/11/22 16:49:47/

目录

 

1.基本简介

2.DataTables示例

2.1 零配置

2.2 功能启用/禁用

2.3 默认排序(排序)

2.4 多列排序

2.5 多个表

2.6 隐藏列

2.7 复杂的标题(rowspan 和 colspan)

2.8 DOM定位

2.9 灵活的宽度

2.10 状态保存

2.11 替代分页

2.12 滚动 - 垂直

2.13 滚动 - 水平,水平和垂直

2.14 语言 - 逗号小数位


1.基本简介

DataTables是 jQuery Javascript 库的插件。它是一个高度灵活的工具,建立在渐进增强的基础之上,可以将所有这些高级功能添加到任何 HTML 表格中。

它具备下面优秀的特点:
(1)分页,上一页、下一页和页面导航。
(2)即时搜索,通过文本搜索过滤结果。
(3)多列排序,一次按多列对数据进行排序。
(4)使用几乎任何数据源,DOM、 Javascript、 Ajax和 服务器端处理。
(5)轻松主题化,DataTables 主题创建者、 Bootstrap 3 / 4、 Foundation和 Semantic UI。
(6)多种扩展,编辑器 、 按钮、 响应等等 。
(7)移动友好,表格自适应大小。
(8)完全国际化,轻松将 DataTables 翻译成多种语言。
(9)免费的开源软件,商业支持。

2.DataTables示例

DataTables 是一个简单易用的 jQuery 插件,具有大量可定制的选项。本文中的示例演示了 DataTables 的基本初始化以及如何通过传递带有所需选项的对象轻松自定义它。

2.1 零配置

一般情况下,DataTables 已默认启用一些功能(搜索、排序和分页),因此我们只需调用构造函数即可将其与自己的表一起使用: $().DataTable();

样式:

<link rel="stylesheet" href="jquery.dataTables.min.css">

脚本:

    <script src="jquery-1.8.2.min.js"></script><script src="jquery.dataTables.min.js"></script><script>$(document).ready(function () {$('#example').DataTable();});</script>

html代码:

    <table id="example" class="display" style="width:100%"><thead><tr><th>姓名</th><th>职业</th><th>办公室地点</th><th>年龄</th><th>开始日期</th><th>薪水</th></tr></thead><tbody><tr><td>佐藤爱理/td><td>会计</td><td>东京</td><td>33</td><td>2011-04-25</td><td>$320,800</td></tr><tr><td>当归拉莫斯</td><td>首席执行官 (CEO)</td><td>伦敦</td><td>47</td><td>2011-07-25</td><td>$1,200,000</td></tr><tr><td>阿什顿考克斯</td><td>初级技术作者</td><td>San Francisco</td><td>66</td><td>2009-01-12</td><td>$86,000</td></tr><tr><td>布拉德利·格里尔</td><td>软件工程师</td><td>纽约</td><td>22</td><td>2012-03-29</td><td>$433,060</td></tr><tr><td>卡拉史蒂文斯</td><td>销售助理</td><td>爱丁堡</td><td>33</td><td>2008-11-28</td><td>$162,700</td></tr><tr><td>凯撒万斯</td><td>售前支持</td><td>新加坡</td><td>61</td><td>2012-12-02</td><td>$372,000</td></tr></tbody><tfoot><tr><th>Name</th><th>Position</th><th>Office</th><th>Age</th><th>Start date</th><th>Salary</th></tr></tfoot></table>

效果:

2.2 功能启用/禁用

通过在初始化对象中设置一个变量,可以很容易地禁用我们不希望对特定表使用的功能。可用选项的完整列表可在 DataTables 参考中找到。

样式:同2.1 零配置

脚本:

    <script src="jquery-1.8.2.min.js"></script><script src="jquery.dataTables.min.js"></script><script>$(document).ready(function () {$('#example').DataTable({paging: false,   // 不分页ordering: false, // 不排序info: false,     // 不显示有关表的信息});});</script>

html代码:同2.1 零配置

效果:

2.3 默认排序(排序)

使用 DataTables,我们可以在初始化时更改表的排序特征。使用order初始化参数,我们可以设置表格以完全按照我们想要的顺序显示数据。

样式:同2.1 零配置

脚本:

使用0作为左侧的第一列对列进行排序。

列编号用于排序目的,例如:0,1,2,3,4,5。年龄是第4列,列编号为3。

        $(document).ready(function () {$('#example').DataTable({order: [[3, 'desc']],});});

html代码:同2.1 零配置

效果:

2.4 多列排序

DataTables 允许同时按多列排序,可以通过多种不同方式激活:用户移位单击列(将单击的列添加为二级、三级等排序列)。

在每列的基础上(即,如果第一列中的数据相同,则按特定列排序,然后按第二列排序),通过 columns.orderData选项。

样式:同2.1 零配置

脚本:

        $(document).ready(function () {$('#example').DataTable({columnDefs: [{targets: [0],orderData: [0, 1],},{targets: [1],orderData: [1, 0],},{targets: [4],orderData: [4, 0],},],});});

html代码:同2.1 零配置

2.5 多个表

通常您可能希望使用单个语句初始化多个表。这可以通过使用 jQuery 选择器轻松完成,该选择器将选择多个表。

使用选择器使用单行代码初始化的两个表table.display,即选择所有具有类的元素table.display

样式:同2.1 零配置

脚本:

$(document).ready(function () {$('table.display').DataTable();
});

html代码:

    <table id="" class="display" style="width:100%"><thead><tr><th>姓名</th><th>职业</th><th>办公室地点</th><th>年龄</th><th>开始日期</th><th>薪水</th></tr></thead><tbody><tr><td>佐藤爱理/td><td>会计</td><td>东京</td><td>33</td><td>2011-04-25</td><td>$320,800</td></tr><tr><td>当归拉莫斯</td><td>首席执行官 (CEO)</td><td>伦敦</td><td>47</td><td>2011-07-25</td><td>$1,200,000</td></tr></tbody><tfoot><tr><th>Name</th><th>Position</th><th>Office</th><th>Age</th><th>Start date</th><th>Salary</th></tr></tfoot></table><br/><table id="" class="display" style="width:100%"><thead><tr><th>姓名</th><th>职业</th><th>办公室地点</th><th>年龄</th><th>开始日期</th><th>薪水</th></tr></thead><tbody><tr><td>布拉德利·格里尔</td><td>软件工程师</td><td>纽约</td><td>22</td><td>2012-03-29</td><td>$433,060</td></tr><tr><td>凯撒万斯</td><td>售前支持</td><td>新加坡</td><td>61</td><td>2012-12-02</td><td>$372,000</td></tr></tbody><tfoot><tr><th>Name</th><th>Position</th><th>Office</th><th>Age</th><th>Start date</th><th>Salary</th></tr></tfoot></table>

2.6 隐藏列

减少屏幕上显示的数据量以使用户更清楚,通过columns.visible列选项完成的。
此外,由于隐藏数据仍然是表的一部分,因此仍然可以选择在允许用户访问该数据时对其进行过滤。

样式:同2.1 零配置

脚本:

    <script>$(document).ready(function () {$('#example').DataTable({columnDefs: [{target: 2,visible: false,searchable: false,},{target: 3,visible: false,},],});});</script>

html代码:同2.1 零配置

2.7 复杂的标题(rowspan 和 colspan)

使用表格显示数据时,您通常希望以组的形式显示列信息。
DataTables 完全支持在表的标题中colspan, rowspan将所需的顺序侦听器分配给适合该列的 TH 元素。

样式:同2.1 零配置

脚本:同2.1 零配置

html代码:

    <table id="example" class="display" style="width:100%"><thead><tr><th rowspan="2">Name</th><th colspan="2">HR Information</th><th colspan="3">Contact</th></tr><tr><th>姓名</th><th>职业</th><th>办公室地点</th><th>年龄</th><th>开始日期</th><th>薪水</th></tr></thead><tbody><tr><td>佐藤爱理/td><td>会计</td><td>东京</td><td>33</td><td>2011-04-25</td><td>$320,800</td></tr><tr><td>当归拉莫斯</td><td>首席执行官 (CEO)</td><td>伦敦</td><td>47</td><td>2011-07-25</td><td>$1,200,000</td></tr></tbody><tfoot><tr><th>Name</th><th>Position</th><th>Office</th><th>Age</th><th>Start date</th><th>Salary</th></tr></tfoot></table>

2.8 DOM定位

在为自己的用途自定义 DataTables 时,我们可能会发现功能元素(过滤器输入等)的默认位置并不完全符合我的想法。

为了解决这个问题,DataTables 从 CSS 3 高级布局模块中汲取灵感,并提供了dom初始化参数,可以设置该参数以指示我们希望特定功能在 DOM 中出现的位置。我们还可以指定div包装容器(带有 id 和/或类)以提供完整的布局灵活性。

样式:同2.1 零配置

脚本:

    <script>$(document).ready(function () {$('#example').DataTable({dom: '<"top"i>rt<"bottom"flp><"clear">',});});</script>

html代码:同2.1 零配置

效果:

2.9 灵活的宽度

通常,我们可能希望表格随页面动态调整大小。通常这是通过width:100%在 CSS 中分配来完成的,但这会给 Javascript 带来问题,因为很难获得相对大小而不是绝对像素。

因此,如果我们将该 width属性应用于 HTML 表格标签或内联宽度样式 ( style="width:100%"),它将用作表格的宽度(推翻任何 CSS 样式)。

样式:

    <style>div.container {width: 50%;}</style>

脚本:同2.1 零配置

html代码:同2.1 零配置

2.10 状态保存

DataTables 保存表的状态(其分页位置、排序状态等)。启用该​stateSave​选项后,可以在用户重新加载页面时恢复,也可以在访问子页面后返回该页面。

样式:同2.1 零配置

脚本:

    <script>$(document).ready(function () {$('#example').DataTable({stateSave: true,});});</script>

html代码:同2.1 零配置

2.11 替代分页

DataTables 呈现的默认页面控件(中间最多包含 7 个页码的前进和后退按钮)适用于大多数情况,但在某些情况下,我们可能希望自定义呈现给最终用户的选项。

这是通过 DataTables 的可扩展分页机制pagingType选项来完成的。

分页控件 DataTables 应该显示六个内置选项:
numbers                 - 仅页码按钮;
simple                     - 仅“上一个”和“下一个”按钮;
simple_numbers    - “上一个”和“下一个”按钮,加上页码;
full                           - “第一个”、“上一个”、“下一个”和“最后一个”按钮;
full_numbers          - “第一个”、“上一个”、“下一个”和“最后一个”按钮,以及页码;
first_last_numbers- “第一”和“最后”按钮,加上页码。

样式:同2.1 零配置

脚本:

    <script>$(document).ready(function () {$('#example').DataTable({pagingType: 'full_numbers',});});</script>

html代码:同2.1 零配置

效果:

2.12 滚动 - 垂直

 DataTables 表体在垂直方向上滚动。这通常可以看作是在相当小的垂直区域中显示大表格的分页的替代方法,因此此处已禁用分页。

一个垂直滚动的 DataTable,它使用 CSS3vh单元来根据浏览器窗口的高度动态调整视口的大小。该vh单位实际上是浏览器窗口高度的百分比。

样式:同2.1 零配置

固定高度脚本:

        $(document).ready(function () {$('#example').DataTable({scrollY: '150px',scrollCollapse: true,paging: false,});});

动态高度脚本:

$(document).ready(function () {$('#example').DataTable({scrollY: '50vh',scrollCollapse: true,paging: false,});
});

html代码:同2.1 零配置

效果:

2.13 滚动 - 水平,水平和垂直

DataTables 具有水平滚动显示表格的能力,这对于当您有一个宽表格但希望将其限制在有限的水平显示区域时非常有用。要启用 x-scrolling,只需将scrollX参数设置为true。

样式:同2.1 零配置

脚本:

$(document).ready(function () {$('#example').DataTable({scrollX: true,});
});

水平和垂直的脚本:

$(document).ready(function () {$('#example').DataTable({scrollY: 200,scrollX: true,});
});

html代码:同2.1 零配置

效果:


 

2.14 语言 - 逗号小数位

点 ( .) 用于标记 Javascript 中的小数位,但是,世界上许多地方使用逗号( ,) 和其他字符,例如 Unicode 小数分隔符 ( ⎖) 或破折号 ( -) 经常用于显示小数位在显示的数字中。

样式:同2.1 零配置

脚本:

    <script>$(document).ready(function () {$('#example').DataTable({language: {decimal: ',',thousands: '.',},});});</script>

html代码:同2.1 零配置

效果:

上述例子下载:datatable_基本初始化.rar


http://www.ppmy.cn/news/516365.html

相关文章

理性之爱

恋爱多久&#xff0c;才懂得如何去爱一个与自己毫无血缘关系的人。 初二时&#xff0c;我告诉自己一个道理&#xff0c;除了家人&#xff0c;没有人是值得付出感情的。那时&#xff0c;读的是寄宿学校&#xff0c;两个星期放假一次&#xff0c;休息两天。初一时&#xff0c;和…

【Linux学习】vim指令集(一)

Linux的最高境界 1、背景 vim是一款多模式的文本编辑器&#xff0c;兼容所有的vi语法&#xff0c;其有多种操作模式&#xff0c;每种模式可以互相切换。vim的安装指令如下所示&#xff1a; yum install -y vim2、vim编辑器的相关指令 常用的vim模式有命令模式、插入模式、底…

通过僵尸扫描判断目标主机端口开放状态

环境准备 使用scapy工具发包 攻击主机IP: 192.168.133.66 僵尸主机IP: 192.168.133.67 &#xff0c;僵尸主机不主动与任何机器通信&#xff0c;且满足IP数据包ID自增** 注&#xff1a;用nmap 判断主机是否满足僵尸主机条件&#xff0c;一般早期的windwos XP系统IP数据包ID…

华为p40会不会有鸿蒙系统,华为p40是不是鸿蒙系统

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 华为p40不是鸿蒙系统&#xff0c;而是搭载了全新的EMUI 10.1系统&#xff0c;华为p40基于华为分布式技术为用户带来丰富的全场景智慧生活体验。 华为鸿蒙(英语&#xff1a;Harmony …

华为鸿蒙发布会直播在哪儿看,2020华为Nova8发布会直播在哪看?附直播/回放在线观看入口...

新的华为nova8系列机型将于12月23日正式发布&#xff0c;均提供有8GB128GB、8GB256GB两个存储组合&#xff0c;此前有消息称nova 8的起售价在3000元左右&#xff0c;而nova 8 Pro的起售价则为4000元左右。 2020华为Nova8系列新品线上发布会 时间&#xff1a;12月23日 14:30 直播…

安卓 TabLayout 选项卡

安卓 TabLayout 选项卡 TabLayout简介FragmentViewPagerTabLayout组合使用 TabLayout简介 Tablayout继承自HorizontalScrollView用于页面切换指示器 TabLayout 是属于 com.android.support:design 包的控件&#xff0c;所以需要依赖该包 implementation com.flyco.tablayout:…

ajax tool works,,AJAX Control Toolkit-图解Ajax Control Tool

要利用好Ajax.net&#xff0c;即将学会灵方便用Ajax.net所供给的Ajax Control Toolkit。该控件包供给了许多利用收获很炫的控件&#xff0c;有了它你能迅捷打造一个Ajax网站。从本章开始&#xff0c;我们同时来学习怎样利用Ajax Cotrol Toolkit中的所有控件。 第一步&#xff1…

【Python】自动化构建项目结构样式

引言 在使用Python或者其它编程语言的项目时候&#xff0c;编写README.md 往往是不可或缺的&#xff1b; 而在README.md 中&#xff0c;关于项目结构的样式展示&#xff0c;这个是可选的。不展示也无伤大雅&#xff0c;但有展示的话&#xff0c;有以下优点&#xff1a; 提供…