Anonymous
Сортировать DataTable столб
Сообщение
Anonymous » 10 июн 2025, 17:44
Я пытаюсь отсортировать свой столбец даты Grawledate , чтобы любые значения Blanks/NULL появляются в последнем или в нижней части списка при сортировке по этому столбцу. Я нашел плагин «абсолютный», но я не понимаю, почему я не имею успеха в использовании его. У меня нет консольных ошибок. Я пытался использовать значения «null» и «», чтобы поднять пустые значения, но у сортировки всегда есть пустое, показывающее вверху. < /P>
Код: Выделить всё
var namesType = $.fn.dataTable.absoluteOrder([
{ value: '', position: 'bottom' }
]);
$('#recoverySMTableMain').dataTable({
"processing": true,
"serverSide": true,
order: [[3, 'desc']],
"ajax": {
"url": "?handler=GetPIs",
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
"data": function (d) {
d.datefrom = "",
d.dateto = "",
d.archive = archiveView,
d.destsearch = $('#destSearchInput').val();
},
"type": "POST",
"ContentType": "json"
},
"columns": [
{ "name": "Regnumber", "data": "Regnumber", "autoWidth": false },
{ "name": "Vehicle", "data": "Vehicle", "autoWidth": false },
{ "name": "Colour", "data": "Colour", "autoWidth": false },
{ "name": "JobNumber", "data": "JobNumber", "autoWidth": false },
{ "name": "Site", "data": "Site", "autoWidth": false },
{ "name": "CustomerDeliveryDate", "data": "CustomerDeliveryDate", "autoWidth": false },
{ "name": "ArrivalDate", "data": "ArrivalDate", "autoWidth": false},
{ "name": "Pulled", "data": "Pulled", "autoWidth": false },
{ "name": "Driver", "data": "Driver", "autoWidth": false },
{ "name": "DeliveryDate", "data": "DeliveryDate", "autoWidth": false },
{ "name": "Notes", "data": "Notes", "autoWidth": false },
{ "name": "RecNo", "data": "RecNo", "autoWidth": false }
],
"columnDefs": [
{
targets: [5, 6, 9],
type: 'date'
},
{ type: namesType, targets: [5, 6, 9] },
],
pageLength: 1000,
width: "1000px",
"deferRender": true,
"bAutoWidth": false,
scrollY: "402px",
scrollCollapse: false,
fixedHeader: true,
"stateSave": false,
"bLengthChange": false,
//Table Status Colours
"rowCallback": function (row, data) {
$(row).addClass('row-pointer-no-change');
row.id = data.RecNo;
if (data.Status == null) {
data.Status = "";
}
//if (tableType != "ARCHIVE") {
if (data.Status == "" || data.Status == undefined) {
$(row).addClass('table-colour-font-settings');
}
/*if (data.Status == "PENDING") {
$(row).addClass('table-lightblue');
$(row).addClass('table-colour-font-settings');
}*/
/*}
else {
if (data.Status.includes("CANCELLED") || data.Status == "DELETED") {
$(row).addClass('table-danger');
$(row).addClass('table-colour-font-settings');
}
}*/
}
});
плагин:
https://datatables.net/plug-ins/sorting/absolute
Подробнее здесь:
https://stackoverflow.com/questions/796 ... ppear-last
1749566674
Anonymous
Я пытаюсь отсортировать свой столбец даты Grawledate , чтобы любые значения Blanks/NULL появляются в последнем или в нижней части списка при сортировке по этому столбцу. Я нашел плагин «абсолютный», но я не понимаю, почему я не имею успеха в использовании его. У меня нет консольных ошибок. Я пытался использовать значения «null» и «», чтобы поднять пустые значения, но у сортировки всегда есть пустое, показывающее вверху. < /P> [code]var namesType = $.fn.dataTable.absoluteOrder([ { value: '', position: 'bottom' } ]); $('#recoverySMTableMain').dataTable({ "processing": true, "serverSide": true, order: [[3, 'desc']], "ajax": { "url": "?handler=GetPIs", headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, "data": function (d) { d.datefrom = "", d.dateto = "", d.archive = archiveView, d.destsearch = $('#destSearchInput').val(); }, "type": "POST", "ContentType": "json" }, "columns": [ { "name": "Regnumber", "data": "Regnumber", "autoWidth": false }, { "name": "Vehicle", "data": "Vehicle", "autoWidth": false }, { "name": "Colour", "data": "Colour", "autoWidth": false }, { "name": "JobNumber", "data": "JobNumber", "autoWidth": false }, { "name": "Site", "data": "Site", "autoWidth": false }, { "name": "CustomerDeliveryDate", "data": "CustomerDeliveryDate", "autoWidth": false }, { "name": "ArrivalDate", "data": "ArrivalDate", "autoWidth": false}, { "name": "Pulled", "data": "Pulled", "autoWidth": false }, { "name": "Driver", "data": "Driver", "autoWidth": false }, { "name": "DeliveryDate", "data": "DeliveryDate", "autoWidth": false }, { "name": "Notes", "data": "Notes", "autoWidth": false }, { "name": "RecNo", "data": "RecNo", "autoWidth": false } ], "columnDefs": [ { targets: [5, 6, 9], type: 'date' }, { type: namesType, targets: [5, 6, 9] }, ], pageLength: 1000, width: "1000px", "deferRender": true, "bAutoWidth": false, scrollY: "402px", scrollCollapse: false, fixedHeader: true, "stateSave": false, "bLengthChange": false, //Table Status Colours "rowCallback": function (row, data) { $(row).addClass('row-pointer-no-change'); row.id = data.RecNo; if (data.Status == null) { data.Status = ""; } //if (tableType != "ARCHIVE") { if (data.Status == "" || data.Status == undefined) { $(row).addClass('table-colour-font-settings'); } /*if (data.Status == "PENDING") { $(row).addClass('table-lightblue'); $(row).addClass('table-colour-font-settings'); }*/ /*} else { if (data.Status.includes("CANCELLED") || data.Status == "DELETED") { $(row).addClass('table-danger'); $(row).addClass('table-colour-font-settings'); } }*/ } }); [/code] плагин: https://datatables.net/plug-ins/sorting/absolute Подробнее здесь: [url]https://stackoverflow.com/questions/79660393/sort-datatable-column-so-blanks-appear-last[/url]