#jquery #datatable
#jquery #datatable
Вопрос:
У меня есть DataTable, первый столбец sl no, который я хочу сделать автоматическим серийным номером 1,2,3,4…… Я хочу, чтобы столбец id автоматически увеличивался.
{ data: "id", title: "Sl. No." }
$('#myTable').DataTable({
columnDefs: [
{
"targets": [0, 1, 2, 3, 4, 5], // your case first column
"className": "text-center",
}
],
"bDestroy": true,
"scrollX": true,
data: dataSet,
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
],
columns: [
{ data: "id", title: "Sl. No." },
{
"data": "updatedDate", title: "Time", render: function (data, type, row) {
return moment(row.updatedDate).format('DD/MM/YYYY hh:mm:ss A');
}
},
{ data: "voltage", title: "Voltage" }
],
order:[0,"desc"]
});
Комментарии:
1. Не могли бы вы изменить свой
dataset
для этого перед переходом к плагину?2. Попробуйте: { data: «id», title: «Sl. No.», render:functon(data,type.row){return row.index();} }
Ответ №1:
Вот пример, который добавляет серийный номер в datatable с помощью columnDefs
и его визуализации option
var dataSet = [{"name":"Wade Rodriguez","age":21},{"name":"Maxwell Rush","age":31},{"name":"Ruiz Murray","age":40},{"name":"Tanner Crosby","age":37},{"name":"Shelby Douglas","age":25},{"name":"Haney Fulton","age":35}]
$(document).ready(function() {
$("#myTable").DataTable({
data: dataSet,
"columns": [{
"title": "Sl. No."
},
{
"data": "name",
"title": "Name"
},
{
"data": "age",
"title": "Age"
}
],
"columnDefs": [{
"render": function(data, type, full, meta) {
dataSet[meta.row].id = meta.row 1; // adds id to dataset
return meta.row 1; // adds id to serial no
},
"targets": 0
}],
});
console.log(dataSet)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" rel="stylesheet" />
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<table id="myTable" class="display" cellspacing="0" width="100%">
</table>