DataTables实际使用

依赖

datatables中文官网 http://www.datatables.club 可以下载和查找详细使用方法。
本人结合自己开发和学习的经历,列出如下代码,以供参考。

如果使用requirejs,则使用如下配置。(需在whiteList.html引入requirejs和jquery依赖)

//userDefineRequireConfig.js
requirejs.config({
	paths:{
		"datatables":"DataTables-1.10.15/media/js/jquery.dataTables",
		"datatables.net":"DataTables-1.10.15/media/js/jquery.dataTables.min",
		"datatables.net-buttons":"DataTables-1.10.15/extensions/Buttons/js/dataTables.buttons.min"
	}
});
<!-- whiteList.html -->
<script type="text/javascript">
	require(['userDefineRequireConfig.js'],function(){
		require(['whiteList.js'],function(app){
			app.init();
		});
	});
</script>
//whiteList.js
define([
	"datatables"
	],function(){
	//var app ={...};
	//return app;
});

html代码

<!--whiteList.html-->
<!--datatables-->
<table id="WhiteList" class="display" cellspacing="0" width="100%">
	<thead>
		<tr>
			<th width="50%">name</th>
			<th width="50%">remark</th>
		</tr>
	</thead>
</table>

javascript代码

//whiteList.js
var app={
	table:null,
	//初始化页面
	init:function(){
		var _self=this;
		_self.table=this.setPage();
	},
	//初始化datatables
	setPage:function(){
		var _self=this;
		var table=$("#WhiteList").DataTable({
			//定义项
			language:{
				emptyTable:"暂无数据",
				paginate:{
					next:">",
					previous:"<"
				},
				loadingRecords:"加载中..."
			},
			//组件分布位置
			dom:"<<t>ilp>",
			//禁止搜索
			searching:false,
			//开启分页
			paging:true,
			//开启后端分页模式
			serverSide:true,
			autoWidth:false,
			//初始页面尺寸
			pageLength:2,
			//页面尺寸下拉框选项
			lengthMenu:[1,2,10],
			//自定义ajax请求数据
			ajax:function(data,callback,settings){
				//查询参数
				var params=_self.dealParam();
				//length为分页长度
				params.pageSize=data.length;
				//页码,start为开始查询的位置
				params.pageNo=(data.start/data.length)+1;
				$.ajax({
					type:"POST",
					url:"list_whitegroup.json",
					cache:false,
					data:params,
					dataType:"json",
					success:function(result){
						var returnData={};
						//数据记录总数
						returnData.recordsTotal=result.page.totalCount;
						returnData.recordsFiltered=result.page.totalCount;
						var datas=[];
						//自己根据需求封装列数据
						$.each(result.data,function(){
							var _this=this;
							var itemArray={};
							var name={
								headimgurl:_this.headimgurl,
								nickName:_this.nickName
							};
							var remark={
								remark:_this.remark
							};
						});
						returnData.data=datas;
						//调用自带的callback,才能传递数据到列
						callback(returnData);
					}
				});
				
			},
			//列填充数据
			columns:[
				{
					data:"name",
					render:function(data,type,full,meta){
						return "<span class='name'><imgsrc="
						+data.headimgurl+"/>"+data.nickName+"</span>";
					}
				},
				{
					data:"remark",
					render:function(data,type,full,meta){
						return data.remark;
					}
				}
			],
			//禁止排序
			ordering:false
		});
		return table;
	},
	//刷新分页,参数true在第一页刷新,false在当前页刷新
	reloadPage:function(boolean){
		var _self=this;
		if(!!_self.table){
			//刷新方法
			_self.table.draw(boolean);
		}else{
			_self.table=_self.setPage();
		}
	},
	//获取查询参数
	dealParams:function(){
		var params={};
		//code
		return params;
	}
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值