Table of Content
Introduction
Daripada milih satu satu mending bisa di search semua. Mempermudah ketika export data.
Kode
function getData(){
$("#table").DataTable({
ordering: false,
ajax: {
type: "GET",
url: "/shelf-life-qa/report/getDataSerahTerimaHarian"
},
columns: [
{ data: "master_variant.mid" },
{ data: "master_variant.kode" },
{ data: "tgl_produksi" },
{ data: "tokiwa" },
{
data: "jumlah_sample",
width: "10%",
render: function(data, type, row){
return `<center>${data}</center>`
}
},
{
data: "status",
render: function(data, type, row){
let status = ''
if(data == null){
status = `<span class="badge bg-secondary">waiting check</span>`;
}else if(data == 'diterima'){
status = `<span class="badge bg-success text-white">diterima</span>`;
}else if(data == 'check in'){
status = `<span class="badge bg-info text-white">check in</span>`;
}else if(data == 'approve'){
status = `<span class="badge text-white" style="background-color: blue">approve</span>`;
}else{
status = `<span class="badge bg-danger text-white">reject</span>`;
}
return status;
}
},
],
lengthMenu: [
[10, 25, 50, -1],
[10, 25, 50, "Semua"]
],
pageLength: 10,
initComplete: function() {
var api = this.api();
api.columns([0, 1, 2, 3, 4, 5]).eq(0).each(function(colIdx) {
var cell = api.column(colIdx).header();
var title = $(cell).text();
$(cell).html('<input type="text" class="form-control" placeholder="' + title + '" />');
$($(cell).find('input')).on('keyup change', function() {
api.column(colIdx).search(this.value).draw();
});
});
}
});
} getData();Penjelasan:
- Fungsi:
api.columns([0, 1, 2, 3, 4, 5])digunakan untuk memilih kolom-kolom tertentu dari tabel. Dalam hal ini, kolom yang dipilih adalah kolom dengan indeks 0 hingga 5 (total 6 kolom). eq(0): Mengembalikan kolom yang dipilih dalam urutan yang sama seperti yang ditentukan. Ini memastikan bahwa kita dapat melakukan iterasi melalui kolom-kolom tersebut.each(function(colIdx) { ... });: Melakukan iterasi untuk setiap kolom yang dipilih, di manacolIdxadalah indeks kolom saat ini dalam iterasi.
Date: 09-12-2024
