jQuery控件 ---DataTables 学习

这俩天做一个需求,需要对表的增删改等操作,于是就选择了jQuery的控件 DataTables。
1、Datatables简介
1.1说明:
DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。主要特点:
自动分页处理
即时表格数据过滤
数据排序以及数据类型自动检测
自动处理列宽度
可通过CSS定制样式
支持隐藏列
易用
可扩展性和灵活性
国际化
动态创建表格
免费的
2、如何使用:
在做后台的时候并没有美工和前端工程师来配合你做页面,为了显示数据并有一定的美感,我们可以使用jQuery的DataTables插件来帮助我们完成任务

1、DataTables的默认配置
[javascript]
$(document).ready(function() {
$('#example').dataTable();
} );
2、DataTables的一些基础属性配置
[javascript]
"bPaginate": true, //翻页功能
"bLengthChange": true, //改变每页显示数据数量
"bFilter": true, //过滤功能
"bSort": false, //排序功能
"bInfo": true,//页脚信息
"bAutoWidth": true//自动宽度
3、数据排序
[javascript]
$(document).ready(function() {
$('#example').dataTable( {
"aaSorting": [
[ 4, "desc" ]
]
} );
} );

从第0列开始,以第4列倒序排列
4、隐藏某些列
[javascript]
$(document).ready(function() {
$('#example').dataTable( {
"aoColumnDefs": [
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
{ "bVisible": false, "aTargets": [ 3 ] }
] } );
} );
5、国际化
[javascript]
$(document).ready(function() {
$('#example').dataTable( {
"oLanguage": {
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "抱歉, 没有找到",
"sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据",
"sInfoEmpty": "没有数据",
"sInfoFiltered": "(从 _MAX_ 条数据中检索)",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "前一页",
"sNext": "后一页",
"sLast": "尾页"
},
"sZeroRecords": "没有检索到数据",
"sProcessing": "<img src='./loading.gif' />"
}
} );
} );

6、排序功能:
[javascript]
$(document).ready(function() {
$('#example').dataTable( {
"aoColumns": [
null,
{ "asSorting": [ "asc" ] },
{ "asSorting": [ "desc", "asc", "asc" ] },
{ "asSorting": [ ] },
{ "asSorting": [ ] }
]
} );
} );


7、数据获取支持4种:如下
[html]
•DOM 文档数据
•Javascript array js数组
•Ajax source Ajax请求数据
•Server side processing 服务器端数据

3、案例说明:
通过JS数组获取的

[javascript]
var oTable;
/*课程数据*/
function courseData(data) {
var courseArrayData= new Array();
var result = eval(data);
col=result.length;

for(var j=0; j<col ;j++)
{
var meetInfoArr= new Array();
var meetInfoObj = result[j];
meetInfoArr.push(meetInfoObj['meetinginfoid']);
meetInfoArr.push(meetInfoObj['meetingName']);
meetInfoArr.push(meetInfoObj['meetingcontent']);
meetInfoArr.push(meetInfoObj['meetinghost']);
meetInfoArr.push(meetInfoObj['meetingcreatetime']);
meetInfoArr.push("<img alt='编辑' title='编辑' src='images/edit.png' border='0' style='padding-left: 5px;cursor: pointer' οnclick='editCourseShow("+meetInfoObj['meetinginfoid']+")'>");
meetInfoArr.push("<img alt='设置课程图片' title='设置课程图片' src='images/setting.png' border='0' style='padding-left: 5px;cursor: pointer' οnclick='setCourseImage("+meetInfoObj['meetinginfoid']+")'>");
courseArrayData.push(meetInfoArr);
}
$('#courseWin').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>');
oTable = $('#example').dataTable({
"bJQueryUI": true,
"sScrollY": 200,
"sPaginationType": "full_numbers",
"oLanguage": {
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "抱歉, 没有找到",
"sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据",
"sInfoEmpty": "没有数据",
"sInfoFiltered": "(从 _MAX_ 条数据中检索)",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "前一页",
"sNext": "后一页",
"sLast": "尾页"
},
"sZeroRecords": "没有检索到数据"
},
"aaSorting": [
[ 4, "desc" ]
],
"aaData":courseArrayData,
"bLengthChange": true,
"aoColumns": [
{
"sTitle": "meetingid",
"bVisible":false
},
{
"sTitle": "课程名称",
"sClass": "center"
},
{
"sTitle": "课程描述"
},
{
"sTitle": "课程老师",
"sClass": "center"
},
{
"sTitle": "课程创建时间",
"sClass": "center"
},
{
"sTitle": "操作",
"sClass": "wp10 taleft",
"bSortable": false
},
{
"sTitle": "设置课程图片",
"sClass": "wp10 taleft",
"bSortable": false
}]
});
$('#example tr').dblclick( function() {$(this).toggleClass('row_selected');});
}



[javascript]
/*获取当前选择行的HTML对象,包括 被隐藏的列*/
function fnGetSelected(oTableLocal){
var aReturn = new Array();
var aTrs = oTableLocal.fnGetNodes();
for(var i =0 ; i < aTrs.length ;i++){
if($(aTrs[i]).hasClass('row_selected')){
aReturn.push(oTableLocal.fnGetData(aTrs[i]));
}
}
return aReturn;
} www.2cto.com

[javascript]
//获取所有的datatables数据
funciton getAllDatatableData(oTableLocal){
var aReturn =new Array();
var aTrs = oTableLocal.fnGetNodes();
for(var i=0; i<aTrs.length;i++){
aReturn.push(oTableLocal.fnGetData(aTrs[i]));
}
return aReturn;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值