#jquery #datatables
#jquery #таблицы данных
Вопрос:
Я хочу напечатать serial-no на каждой странице. Этот serial-no всегда должен быть в порядке возрастания, независимо от сортировки любого столбца. Предположим, я нахожусь на странице # 3, а ‘limit’ установлен в 10.
Тогда столбец serial-no не должен печататься 21, 22, 23, …, 30.
Как я могу получить это в плагине jQuery datatables.
Заранее спасибо
Ответ №1:
Есть fnRowCallback
который должен позволить вам делать то, что вы хотите:
Эта функция позволяет вам ‘обрабатывать post’ каждую строку после того, как она была сгенерирована для каждого рисования таблицы, но до того, как она будет отображена на экране.
И четвертый параметр обратного вызова равен
Индекс данных в полном списке строк (после фильтрации)
Таким образом, вы должны иметь возможность использовать четвертый параметр обратного вызова, чтобы добавить номер строки к строке (который является первым параметром обратного вызова).
Ответ №2:
на самом деле вам не нужно ни о чем беспокоиться, просто сделайте это просто
создать s.no со стороны сервера точно так же, как показано ниже в json… тогда вам не нужно беспокоиться ни о чем подобном offset
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>