JQuery DataTable 序号列的显示

因项目需求,查询出DataTable显示序号的几种方式:

1.前端分页。

首先设置该序号列为空列,即

{"data": null, 
"targets": 0 } //表示:第一列的值暂时设为null。

在dataTable设置参数完成后,增加以下代码:

/* 设置第一列 - 序列化 */
ResultTable.on('order.dt search.dt', function() {
	grpResultTable.column(0, {
	search: 'applied',
	order: 'applied'
}).nodes().each(function(cell, i) {
	cell.innerHTML = i + 1;
	});
}).draw(); 
//ResultTable为dataTable设置的返回值。即 var ResultTable = $("#groupTable").dataTable({...}).api();

该方法能有效的解决前端分页的问题。

2. 后台分页

方法1:同样设置该序号列为空列。

在dataTable的参数设置中加入以下设置:

drawCallback : function() { // 序号列
	var api = this.api();
	var startIndex = api.context[0]._iDisplayStart; // 获取本页开始的条数
	api.column(0).nodes().each(function(cell, i) {
		cell.innerHTML = startIndex + i + 1;
	});
}

此方法可以解决后台分页的问题,但是,当序号列所占据的宽度较小时,可能带来翻页时页面闪烁的问题。

方法2:在设置序号列时,进行显示,代码如下:

{"data" : null,
"render" : function(data, type, full, meta){
return meta.row + 1 + meta.settings._iDisplayStart;
}}, // 序号

此方法能有效解决分页的序号显示,同时避免了在翻页时重绘可能带来的闪烁问题。


以上。有问题请联系我哟,共同成长,共同进步!

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值