这里说的是Jquery的一个表格插件:datatables,官网:http://www.datatables.net
A、dataTables 四种表格数据来源。
1、源于网页,网页被浏览器解析为 DOM 对象,在 dataTables 中称为 DOM 来源。
$(document).ready(function() {
$('#example').dataTable();
} );
2、数据来源为数组, JavaScript 中的数组,通过在初始化对象中传递一个名为 aaData 的数组,
同样可以提供表格数据,前缀 aa 说明这是一个数组的数组,外层的数组表示表格的行,每一行同样是一个数组。
$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' ); $('#example').dataTable( { "aaData": [ /* Reduced data set */ [ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ], [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ], [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ], [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ], [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ], [ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ], [ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ], [ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ], [ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ], [ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ], [ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ], [ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ] ], "aoColumns": [ { "sTitle": "Engine" }, { "sTitle": "Browser" }, { "sTitle": "Platform", "sClass" : "center" }, { "sTitle": "Version", "sClass": "center" }, { "sTitle": "Grade", "sClass": "center", "fnRender": function(obj) { var sReturn = obj.aData[ obj.iDataColumn ]; if ( sReturn == "A" ) { sReturn = "<b>A</b>"; } return sReturn; } } ] } ); } );
对于每一个列对象:
sTitle 定义列的标题
sClass 定义列的样式
fnRender 对此列进行特殊处理,如处理一个列是对象或者日期的情况
fnRender 函数用来渲染列,这个函数将会传递一个参数对象,这个参数对象的 iDataColumn 属性表示当前的列索引,
aData 表示当前的行数组。函数返回的结果将被填充到单元格中。
当然了,对于表示行的数组来说,长度应该是相同的。如果某一行数据缺失或者提供了过多地数据的话,就会得到一个警告。
3、数据来源是 AJAX,请求一个JSON类型的有aaData属性的txt。
在初始化参数对象中,通过 sAjaxSource 的属性传递请求的地址,bProcessing 表示是否需要显示一个工作中的提示。
在 JSON 方式返回的数据中,需要一个名为 aaData 的属性来提供实际的数据。
其中 json_source.txt 就是 JSON 数据,其中定义了一个名为 aaData 的属性。这个文件可以在下载的压缩包中找到,在 examples\examples_support 文件夹中。
4、数据来源是AJAX,请求一个服务器地址(我用的就是这个)。
对于大量的数据来说,你可能希望在服务器端完成所有的操作,分页、排序、过滤等等。dataTable 可以通过服务器完成这些功能,
dataTables 就是一个显示数据和提供操作事件的前端模块。
$(document).ready(function() { $('#example').dataTable( { "bProcessing": true, "bServerSide": true, "sAjaxSource": "sysAction.do?method=aMethodName", "fnServerParams" :function someParam(aoData){ aoData.push( { "name" : "createDate", "value" : $("#cDate").val() }, { "name" : "jcClientCompany_code", "value" :"XD89757"}); //添加自己的额外参数,name--参数名,value--参数值 } } ); } );
后台获取自己添加的额外参数:
String companyCode = request.getParameter("jcClientCompany_code"); String createDate= request.getParameter("createDate");
Ajax请求路径获得数据源方式必须返回的参数:
//接收 String iDisplayLength = request.getParameter("iDisplayLength"); String iDisplayStart = request.getParameter("iDisplayStart"); String sEcho = request.getParameter("sEcho"); //处理 long total = sysJcClientCompanyInfoImpl.getSysJcClientCompanyInfoPageCount(map); //总页数 List<SysJcClientCompanyInfo> datalist = sysJcClientCompanyInfoImpl.getSysJcClientCompanyInfoPageList (map,Integer.parseInt(iDisplayStart),Integer.parseInt(iDisplayLength));//分页查询 //返回 Map<String, Object> datamap = new HashMap<String, Object>(); datamap.put("sEcho", sEcho); datamap.put("iTotalRecords", total); datamap.put("iTotalDisplayRecords", total); datamap.put("aaData", datalist); return datamap;
B、dataTables 巧用法。
1、数据排序
$(document).ready(function() {
$('#example').dataTable( {
"aaSorting": [
[ 4, "desc" ]
]
} );
} );
从第0列开始,以第4列倒序排列
示例:http://www.guoxk.com/html/DataTables/Sorting-data.html
多列排序:点击列头看效果
示例:http://www.guoxk.com/html/DataTables/Multi-column-sorting.html
2、隐藏某些列
$(document).ready(function() {
$('#example').dataTable( {
"aoColumnDefs": [
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
{ "bVisible": false, "aTargets": [ 3 ] }
] } );
} );
示例:http://www.guoxk.com/html/DataTables/Hidden-columns.html
3、改变页面上元素的位置
$(document).ready(function() {
$('#example').dataTable( {
"sDom": '<"top"fli>rt<"bottom"p><"clear">'
} );
} );
//l- 每页显示数量
//f - 过滤输入
//t - 表单Table
//i - 信息
//p - 翻页
//r - pRocessing
//< and > - div elements
//<"class" and > - div with a class
//Examples: "sDom" : 'T<"clear">rltip',
示例:http://www.guoxk.com/html/DataTables/DOM-positioning.html
4、状态保存,使用了翻页或者改变了每页显示数据数量,会保存在cookie中,下回访问时会显示上一次关闭页面时的内容。
做查询的时候,这个方法慎用。
$(document).ready(function() {
$('#example').dataTable( {
"bStateSave": true
} );
} );
示例:http://www.guoxk.com/html/DataTables/State-saving.html
5、限制宽度和高度
$(document).ready(function() {
$('#example').dataTable( {
"sScrollX": "100%",
"sScrollXInner": "110%",
"bScrollCollapse": true
} );
} );
"oLanguage" : {"sUrl" : "common/js/cn.txt"}, //多语言配置
示例:http://www.guoxk.com/html/DataTables/Change-language-information.html
7、click事件
示例:http://www.guoxk.com/html/DataTables/event-click.html
8、配合使用tooltip插件
示例:http://www.guoxk.com/html/DataTables/tooltip.html
9、定义每页显示数据数量
$(document).ready(function() {
$('#example').dataTable( {
"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
} );
} );
10、显示行的详细信息,点击行开头的“+”号展开细节显示
参考地址:http://www.datatables.net/release-datatables/examples/api/row_details.html
11、集成jQuery插件jEditable
参考地址:http://www.datatables.net/release-datatables/examples/api/editable.html
相关推荐
以`jQuery DataTables`为例,它是广泛使用的表格增强插件,内置了强大的分页功能。 1. **安装和引入**:首先,你需要在HTML文件中引入jQuery库和DataTables插件的CSS和JS文件。可以通过CDN链接或者本地文件引入。 ...
对于Java初学者来说,这是一个很好的实践项目,可以帮助他们理解如何结合使用SpringBoot、MyBatis、JSP、jQuery和DataTables.js来实现一个功能完备的前端分页搜索系统。通过学习和实践这个教程,开发者可以提升自己...
**jQuery DataTables 深入理解与应用** jQuery DataTables 是一个强大且功能丰富的JavaScript库,用于增强HTML表格。它提供了各种高级特性,如分页、排序、过滤、搜索、数据加载以及更多,大大提升了用户体验。在这...
DataTable是一款功能强大的jQuery插件,常用于实现动态、可排序、可搜索的数据表格。而J2EE(Java 2 Platform, Enterprise Edition)是一个企业级的Java开发框架,用于构建服务器端应用。 首先,我们需要理解...
这里我们将详细讨论如何实现这一功能,主要涉及JavaScript库jQuery和相关的表格插件。 首先,`jquery-table20150810`这个文件名可能指的是一个基于jQuery的表格插件,可能是2015年8月10日的一个版本。jQuery是一个...
在"Datatables使用Ajax方式读取数据"这个主题中,我们需要关注以下几个关键点: 1. **初始化Datatables**:在HTML中创建一个空的表格,并使用jQuery选择器找到它,然后调用Datatables插件进行初始化。例如: ```...
- Java:在Java环境中,开发者可以使用诸如Spring MVC、Struts2等框架,配合JSON或者XML格式来传输数据,DataTables会自动处理这些数据并显示在表格中。 - C++/C#:对于C++和C#开发者,可以通过ASP.NET、ASP.NET ...
DataTables是流行的jQuery插件,可以为HTML表格提供分页、排序、过滤和搜索等功能。只需在HTML表格上应用该插件,即可轻松提升表格的交互性和功能性。 9. 响应式设计 考虑到不同设备的屏幕尺寸,应采用响应式设计...
Datatables是一款基于jQuery的表格插件,它可以将普通的HTML表格转变为具有排序、过滤、分页等功能的交互式表格。在SSM环境中,Datatables通过Ajax请求从服务器获取数据,服务器端则使用SpringMVC来处理这些请求,...
2. DataTables:虽然Datatables主要是一个表格插件,但它内置了强大的分页功能,支持服务器端和客户端分页,还提供排序、搜索等功能。对于需要展示复杂数据的项目,Datatables是理想选择。 3. jQuery Paginate:这...
`datatables`是一个强大的jQuery插件,它能够将HTML表格转化为功能丰富的数据展示和操作界面。而`Ajax`则是异步JavaScript和XML的缩写,是Web开发中用于创建动态网页的关键技术。在本实例中,我们将深入探讨如何在...
在Java Web应用程序中,jQuery DataTables是一个非常流行的插件,用于增强HTML表格的功能。这个插件使得数据的呈现更加美观,交互性更强,且支持大量的自定义选项和功能。接下来,我们将深入探讨jQuery DataTables在...
jquery表格插件Datatables的使用大大丰富了数据的展现方式,更具交互性。具有自动分页、模糊搜索等功能 封装了Response类,可以传递4个参数 show($code, $message = '', $data = array(), $type = self::JSON)来展示...
在使用`DataTables`时,需要在HTML文件中引入相关的CSS和JS文件,并对目标表格添加特定的类名,如`table table-striped table-bordered`等,以激活这个插件。 接着,我们来看如何与JAVA后台进行数据连接。通常,...
排序插件如DataTables或FlexGrid允许用户按指定列进行升序或降序排序,甚至支持多列排序。这些插件通常提供API,开发者可以通过编程控制排序逻辑。 5. 弹窗(Modal/Popup): 弹窗用于在页面上显示重要的信息或者...
总结来说,这个主题涵盖了使用flexigrid、sigmagrid和datatables这三种JavaScript库来处理Web应用程序中的数据表格,同时涉及到了与Java项目相关的构建工具Maven和IDE配置。对于开发者来说,了解并熟练运用这些工具...
**datatables**:datatables是基于jQuery的数据表格插件,用于对HTML表格进行增强,提供了丰富的功能,如服务器端分页、排序、过滤等。在后台管理系统中,datatables通常与后端API配合,用于展示和操作大量数据。 *...
/datatables 是一个非常流行的基于 jQuery 的 DataTables 插件,它提供了许多实用的功能,如排序、过滤、分页等,今天我们将介绍如何使用 DataTables 实现带查询条件的 Java 服务端分页处理实例。 首先,让我们了解...
- DataTables:用于表格的增强,包括排序、过滤和分页。 - Validation:表单验证插件。 - LazyLoad:图片懒加载插件。 通过这些基本知识,我们可以快速构建交互式的网页应用。了解和掌握jQuery,能够大大提高开发...
DataTables是基于jQuery的插件,它可以动态地从服务器获取数据并呈现到表格中。其核心功能包括排序、搜索、分页和列显示控制。通过与服务器端交互,DataTables可以处理大量数据,避免一次性加载过多数据导致的页面...