datatables tablo başlığına tıklayınca sıralama değişmiyor
7
●430
- 21-08-2019, 15:36:15Yeni yaptığım web yazılımda datatables kullanıyorum verileri ajax ile json formatta çekip listeliyorum fakat tablo başlıklarına tıklayınca büyükten küçüğe listeleyecek şekilde değişmiyor temanın orjinalinde yer alan jsonla neredeyse bire bir json oluşturdum fakat temanın json url adresini yazınca tüm filtrelemeler ve benzeri listeleme özellikleri çalışıyor kendi json url adresimi yazınca çalışmıyor sizce sebebi nedir
- 21-08-2019, 15:38:57Json çıktısını paylaşırmısınız birde datatables kodlarını ekler misiniz
- 21-08-2019, 15:44:18ahmethekim14 adlı üyeden alıntı: mesajı görüntüle
DrJelibon adlı üyeden alıntı: mesajı görüntüle - 21-08-2019, 16:04:41MSA adlı üyeden alıntı: mesajı görüntüle
- 21-08-2019, 19:25:45Bazı filitreleme kısımlarını çalıştırmayı başardım ama bazıları hala çalışmıyor çalışmazsa işimden olcağaım
tw gelip yardım edecek biri var mı
İlgili HTML Kodu
<table class="table table-striped- table-bordered table-hover table-checkable" id="kt_table_1"> <thead> <tr> <th class="width-500" data-priority="1" style="text-align: center;">Tarih</th> <th data-priority="2" style="text-align: center;">Bayi Lisans No</th> <th data-priority="2" style="text-align: center;">Kısa Ünvan</th> <th data-priority="3" style="text-align: center;">Köy Pompa No</th> <th data-priority="2" style="text-align: center;">Tank No</th> <th data-priority="2" style="text-align: center;">Tank Kapasitesi</th> <th data-priority="2" style="text-align: center;">Akaryakıt Türü</th> <th data-priority="2" style="text-align: center;">Gün Başı Stok</th> <th data-priority="2" style="text-align: center;">Tanka Dolum</th> <th data-priority="2" style="text-align: center;">Satış</th> <th data-priority="2" style="text-align: center;">EPDK Durum</th> <th data-priority="9" style="text-align: center;">Gönderim Tarih</th> <th data-priority="9" style="text-align: center;">EPDK Sonuç</th> <th data-priority="2" style="text-align: center;" title="Zaman Damgası">Z.D</th> <th data-priority="10" style="text-align: center;">Ticket</th> </tr> </thead> <tfoot> <tr> <th style="text-align: center;">Tarih</th> <th style="text-align: center;">Bayi Lisans No</th> <th style="text-align: center;">Kısa Ünvan</th> <th style="text-align: center;">Köy Pompa No</th> <th style="text-align: center;">Tank No</th> <th style="text-align: center;">Tank Kapasitesi</th> <th style="text-align: center;">Akaryakıt Türü</th> <th style="text-align: center;">Gün Başı Stok</th> <th style="text-align: center;">Tanka Dolum</th> <th style="text-align: center;">Satış</th> <th style="text-align: center;">EPDK Durum</th> <th style="text-align: center;">Gönderim Tarih</th> <th style="text-align: center;">EPDK Sonuç</th> <th style="text-align: center;" title="Zaman Damgası">Z.D</th> <th style="text-align: center;">Ticket</th> </tr> </tfoot> </table>
İligli JS KODU
"use strict"; var KTDatatablesSearchOptionsAdvancedSearch = function() { $.fn.dataTable.Api.register('column().title()', function() { return $(this.header()).text().trim(); }); var initTable1 = function() { // begin first table var table = $('#kt_table_1').DataTable({ responsive: true, // Pagination settings dom: `<'row'<'col-sm-12'tr>> <'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7 dataTables_pager'lp>>`, // read more: https://datatables.net/examples/basic_init/dom.html lengthMenu: [5, 10, 25, 50], pageLength: 10, language: { 'lengthMenu': 'Display _MENU_', }, searchDelay: 500, processing: true, serverSide: false, ajax: { url: 'http://localhost/link-otomasyon/epdk-a-1a', type: 'POST', data: { // parameters for custom backend script demo columnsDef: [ 'a1A_Date', 'a1A_Station_LicenseNumber', 'a1A_Short_Title', 'a1A_Village_Pump_Number', 'a1A_Tank_Number', 'a1A_Tank_Capacity', 'ft_title', 'a1A_Start_Stock', 'a1A_Tank_Filling', 'a1A_Sales', 'a1A_Epdk_Status', 'a1A_Data_Transmission_Date', 'a1A_Epdk_Result', 'a1A_Timestamp_ID', 'a1A_Ticket_Status_ID',], }, }, columns: [ {data: 'a1A_Date'}, {data: 'a1A_Station_LicenseNumber'}, {data: 'a1A_Short_Title'}, {data: 'a1A_Village_Pump_Number'}, {data: 'a1A_Tank_Number'}, {data: 'a1A_Tank_Capacity'}, {data: 'ft_title'}, {data: 'a1A_Start_Stock'}, {data: 'a1A_Tank_Filling'}, {data: 'a1A_Sales'}, {data: 'a1A_Epdk_Status'}, {data: 'a1A_Data_Transmission_Date'}, {data: 'a1A_Epdk_Result'}, {data: 'a1A_Timestamp_ID'}, {data: 'a1A_Ticket_Status_ID'}, ], initComplete: function() { this.api().columns().every(function() { var column = this; switch (column.title()) { case 'Kısa Ünvan': column.data().unique().sort().each(function(d, j) { $('.kt-input[data-col-index="2"]').append('<option value="' + d + '">' + d + '</option>'); }); break; case 'EPDK Durum': var status = { 1: {'title': 'Gönderildi', 'class': 'kt-badge--success'}, 2: {'title': 'Gönderilmedi', 'class': ' kt-badge--warning'}, 3: {'title': 'Ticket Açık', 'class': ' kt-badge--danger'}, }; column.data().unique().sort().each(function(d, j) { $('.kt-input[data-col-index="6"]').append('<option value="' + d + '">' + status[d].title + '</option>'); }); break; case 'Z.D': var status = { 0: {'title': 'Damgalandı', 'state': 'danger'}, 1: {'title': 'Damgalanmadı', 'state': 'success'}, }; column.data().unique().sort().each(function(d, j) { $('.kt-input[data-col-index="7"]').append('<option value="' + d + '">' + status[d].title + '</option>'); }); break; } }); }, columnDefs: [ { targets: -1, title: 'Ticket', orderable: false, render: function(data, type, full, meta) { return ` <a href="#" class="btn btn-sm btn-clean btn-icon btn-icon-md" title="View"> <i class="la la-edit"></i> </a>`; }, }, { targets: 13, // BOX DURUM render: function(data, type, full, meta) { var status = { 0: {'title': 'Damgalanmadı', 'class': 'kt-badge--danger'}, 1: {'title': 'Damgalandı', 'class': ' kt-badge--success'}, }; if (typeof status[data] === 'undefined') { return data; } return '<span class="kt-badge ' + status[data].class + ' kt-badge--inline kt-badge--pill">' + status[data].title + '</span>'; }, }, { targets: 10, // NOKTALI RENKLİ YAZI DURUMU render: function(data, type, full, meta) { var status = { 1: {'title': 'Gönderildi', 'state': 'success'}, 2: {'title': 'Gönderilmedi', 'state': 'warning'}, 3: {'title': 'Ticket Açık', 'state': 'danger'}, }; if (typeof status[data] === 'undefined') { return data; } return '<span class="kt-badge kt-badge--' + status[data].state + ' kt-badge--dot"></span> ' + '<span class="kt-font-bold kt-font-' + status[data].state + '">' + status[data].title + '</span>'; }, }, ], }); var filter = function() { var val = $.fn.dataTable.util.escapeRegex($(this).val()); table.column($(this).data('col-index')).search(val ? val : '', false, false).draw(); }; var asdasd = function(value, index) { var val = $.fn.dataTable.util.escapeRegex(value); table.column(index).search(val ? val : '', false, true); }; $('#kt_search').on('click', function(e) { e.preventDefault(); var params = {}; $('.kt-input').each(function() { var i = $(this).data('col-index'); if (params[i]) { params[i] += '|' + $(this).val(); } else { params[i] = $(this).val(); } }); $.each(params, function(i, val) { // apply search params to datatable table.column(i).search(val ? val : '', false, false); }); table.table().draw(); }); $('#kt_reset').on('click', function(e) { e.preventDefault(); $('.kt-input').each(function() { $(this).val(''); table.column($(this).data('col-index')).search('', false, false); }); table.table().draw(); }); $('#kt_datepicker').datepicker({ todayHighlight: true, format: 'dd/mm/yyyy', templates: { leftArrow: '<i class="la la-angle-left"></i>', rightArrow: '<i class="la la-angle-right"></i>', }, }); }; return { //main function to initiate the module init: function() { initTable1(); }, }; }(); jQuery(document).ready(function() { KTDatatablesSearchOptionsAdvancedSearch.init(); });