jQuery表格插件datatables用法总结
DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。
官方网站及其下载地址:http:/www.datatables.net
当前最新版为1.10.2,读者可点此本站下载。
其主要特点如下:
1.自动分页处理
2.即时表格数据过滤
3.数据排序以及数据类型自动检测
4.自动处理列宽度
5.可通过CSS定制样式
6.支持隐藏列
7.易用
8.可扩展性和灵活性
9.国际化
10.动态创建表格
11.免费的
使用方法:
首先看看如下代码:
<title>DataTablesexample</title> <styletype="text/css"title="currentStyle"> @import"../../media/css/demo_page.css"; @import"../../media/css/demo_table.css"; @import"../examples_support/themes/smoothness/jquery-ui-1.7.2.custom.css"; </style> <scripttype="text/javascript"language="javascript"src="../../media/js/jquery.js"></script> <scripttype="text/javascript"language="javascript"src="../../media/js/jquery.dataTables.js"></script> <scripttype="text/javascript"charset="utf-8">
上述代码中引入js和css文件。可以在demo里复制。注意路径地址。
接着来看看如下代码:
<scripttype="text/javascript"charset="utf-8"> $(document).ready(function(){ $('#example').dataTable({ "oLanguage":{ "sUrl":"/SSS/dataTables/de_DE.txt" }, "bStateSave":true, //"bJQueryUI":true,//使用jqueryui。我用的时候显示的不是很好 "sPaginationType":"full_numbers"//分页 }); }); </script> </head> <bodyid="dt_example">//此处为body的id <divid="container"align="center">//*div里是table,table包括thead等,最好按此格式写* <h1>物品种类管理</h1> <divid="demo"> <tablecellpadding="5"cellspacing="0"border="1"class="display"id="example"align="center">//id别忘了 <thead> <tr> <th>物品编号</th> <th>物品名称</th> <th>物品单位</th> <th>编辑状态</th> <th>随便</th> </tr> </thead> <trclass="gradeX">//此处可以是gradeA,gradeX等,但是gradeB隔行换色效果很好 <td>Trident</td> <td>Internet Explorer4.0</td> <td>Win95+</td> <tdclass="center">4</td> <tdclass="center">X</td> </tr> <trclass="gradeC"> <td>Trident</td> <td>Internet Explorer5.0</td> <td>Win95+</td> <tdclass="center">5</td> <tdclass="center">C</td> </tr> <trclass="gradeA"> <td>Trident</td> <td>Internet Explorer5.5</td> <td>Win95+</td> <tdclass="center">5.5</td> <tdclass="center">A</td> </tr> </tbody> <tfoot> </tfoot> </table> </div> </div>
上面就能创建出如图的效果,分页。排序。等等。
最后讲讲各各属性(主要添加的位置)
//$(document).ready(function(){ //$('#example').dataTable({//加载 //"bPaginate":true,//分页按钮 //"bLengthChange":true,//每行显示记录数 //"bFilter":true,//搜索栏 //"bSort":true,//排序 //"bInfo":true,//Showing1to10of23entries总记录数没也显示多少等信息 //"bAutoWidth":true}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //"aaSorting":[[4,"desc"]]//给列表排序,第一个参数表示数组。4就是cssgrade那列。第二个参数为desc或是asc //}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //"aoColumns":[ ///*Engine*/null,//默认 ///*Browser*/null, ///*Platform*/{"bSearchable":false,//不可参与搜索 //"bVisible":false},//不可见 ///*Version*/{"bVisible":false},//不可见 ///*Grade*/null //]}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //"sDom":'<"top"i>rt<"bottom"flp<"clear">'//这段是自定义布局没搞明白挺复杂的。*l-Lengthchanging*f-Filteringinput*t-Thetable!*i-Information*p-Pagination*r-pRocessing*<and>-divelements*<"class"and>-divwithaclass*Examples:<"wrapper"flipt>,<lf<t>ip> //}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //"bStateSave":true//保存状态到cookie***************很重要,当搜索的时候页面一刷新会导致搜索的消失。使用这个属性就可避免了 //}); //}); //$(document).ready(function(){ //$('#example').dataTable({ //"sPaginationType":"full_numbers"//分页,一共两种样式另一种为two_button是datatables默认 //}); //}); //$(document).ready(function(){ //$('#example').dataTable({//分页信息不是很难理解。 //"oLanguage":{ //"sLengthMenu":"Display_MENU_recordsperpage", //"sZeroRecords":"Nothingfound-sorry", //"sInfo":"Showing_START_to_END_of_TOTAL_records", //"sInfoEmtpy":"Showing0to0of0records", //"sInfoFiltered":"(filteredfrom_MAX_totalrecords)" //} //}); //}) $(document).ready(function(){ oTable=$('#example').dataTable({ "bJQueryUI":true,//可以添加jqury的uitheme需要添加css "sPaginationType":"full_numbers" }); });
默认的语言是英文的当然可以国际化:
"sUrl":"/SSS/dataTables/de_DE.txt"添加个国际化的文件就可以。名字随便路径对了就可以。我写的国际化文件内容如下,可以直接复制到txt中使用.
{ "sProcessing":"Bittewarten...", "sLengthMenu":"显示_MENU_条", "sZeroRecords":"没有您要搜索的内容", "sInfo":"从_START_到_END_条记录——总记录数为_TOTAL_条", "sInfoEmpty":"记录数为0", "sInfoFiltered":"(全部记录数_MAX_条)", "sInfoPostFix":"", "sSearch":"搜索", "sUrl":"", "oPaginate":{ "sFirst":"第一页", "sPrevious":"上一页", "sNext":"下一页", "sLast":"最后一页" } }
这些是datatables的基础部分。比较容易掌握。
希望本文所述对大家jQuery程序设计的学习有所帮助。