【发布时间】:2011-04-11 01:32:12
【问题描述】:
我想在每一页上打印序列号。无论任何列的排序如何,此序列号都应始终按升序排列。假设我在第 3 页,并且“限制”设置为 10。
然后序列号列应该打印 21、22、23、...、30。
我怎样才能在jQuery datatables plugin.得到这个
提前致谢
【问题讨论】:
标签: jquery datatables
我想在每一页上打印序列号。无论任何列的排序如何,此序列号都应始终按升序排列。假设我在第 3 页,并且“限制”设置为 10。
然后序列号列应该打印 21、22、23、...、30。
我怎样才能在jQuery datatables plugin.得到这个
提前致谢
【问题讨论】:
标签: jquery datatables
有一个fnRowCallback 可以让你做你想做的事:
此功能允许您在为每个表格绘制生成之后,但在它呈现在屏幕上之前对每一行进行“后期处理”。
而回调的第四个参数是
完整行列表中数据的索引(过滤后)
所以你应该可以使用回调的第四个参数将行号添加到行中(这是回调的第一个参数)。
【讨论】:
其实你什么都不用担心,简单点就行了
像下面的 json 一样从服务器端创建 s.no ... 那么你就不必担心任何像偏移量这样的事情
JSON
{
"sEcho": 0,
"iTotalRecords": 12,
"iTotalDisplayRecords": 12,
"aaData": [
["1","item1"],["2","item1"],["3","item1"],["4","item1"],["5","item1"],["61","item1"],["7","item1"],["8","item1"],["9","item1"],["10","item1"],["11","item1"],["12","item1"]
]
}
脚本
<script type="text/javascript">
$(document).ready(function() {
var oTable = $('#category_table').dataTable( {
"aoColumns": [
{ "sClass": "number", "bSortable": false },
{ "sClass": "nonedit", "bSortable": false }
],
"bProcessing": true,
"bServerSide": true,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "serverpage.php",
"fnDrawCallback": function () {
}
});
});
</script>
标记
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="display" id="category_table">
<thead>
<tr>
<th width="3%" style="text-align:center;">S.No</th>
<th>item Name</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
<tfoot>
<tr>
<th width="3%" style="text-align:center;">#</th>
<th>item Name</th>
</tr>
</tfoot>
</table>
【讨论】: