Datatable içinde sortable kullanımı ?
datatable içine verileri json olarak alıyorum
fakat bir türlü id değerine ulaşamadım.
bu konuda yardımcı olabilirmisiniz.?
var o = $("#anasayfa-list").DataTable({
processing: true,
serverSide: true,
serverMethod: 'POST',
ajax: {
url: "/SayfaData/",
},
columns: [
{data: 'id'}
],
rowReorder: {
dataSrc: 'id',
selector: 'tr'
},
});
-----------
$( "#anasayfa-list > tbody" ).sortable({
delay: 150,
stop: function() {
var datav = new Array();
$('#anasayfa-list > tbody').each(function() {
datav.push($(this).attr("TRID"));
});
console.log(datav);
alert(datav);
update(datav);
}
});
function update(data) {
$.ajax({
url:"/Sortable/",
type:'post',
data:{sira:data},
success:function(){
alert('güncel');
}
})
}
<div class="table-responsive">
<table id="anasayfa-list" class="table table-striped table-bordered display" style="width: 100%">
<thead>
<tr id="TRID" class="btn-info">
<th class="noshort" title="Tümünü Seç">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="checkall"/>
<label class="form-check-label" for="checkall"></label>
</div>
</th>
<th>id</th>
</tr>
</thead>
</table>
</div>
@abdullahx
malesef bende çalışmadı gerekli değişiklikleri yaptığım halde
ben bu şekilde yaptım
var o = $("#anasayfa-list").DataTable({
processing: true,
serverSide: true,
ajax: {
url: "/SayfaData/",
data: function(d){
var kategoriSec = $('#kategoriSira').val();
d.kategoriSira = kategoriSec;
var KatSec = $('#KatSira').val();
d.KatSira = KatSec;
}
},
columns: [
{data: 'sil'},
{data: 'id'},
{data: 'modul_adi',orderable: true},
{data: 'dosyaadi',orderable: true},
{data: 'sira',orderable: true},
{data: 'durum',orderable: true},
{data: 'islem', responsivePriority: -1, orderable: false}
],
language:{url:"//cdn.datatables.net/plug-ins/1.10.12/i18n/Turkish.json"},
columnDefs: [
{ "className": "sec", targets: [ 1,2 ] },
{
targets: ['noshort'],
orderable: false
},
{
targets: -1,
title: 'İşlemler',
render: function(data, type, row) {
var html = '';
$.each(row.action, function(key, action){
if(action.duzenle.duzendurum === "true"){
html+= action.duzenle.link;
}
if(action.silme.sil === "true"){
html+= action.silme.link;
}
if(action.copeat.durum === "true"){
html+= action.copeat.link;
}
})
return html;
},
},
],
order: [[3, "asc"]],
displayLength: 10,
lengthMenu: [
[5, 10, 15, 20, 50, 100, 2],
['5 Adet' , '10 Adet' , '15 Adet' , '20 Adet', '50 Adet', '100 Adet', 'Tümü']
],
dom: 'Blrtip',
buttons: [
{extend:'copy'},{extend:'csv'},{extend:'excel'},{extend:'pdf'},{extend:'print'},
],
rowReorder: {
dataSrc: 'id',
selector: 'tr'
},
rowCallback: function (row, data) {
var dataid = data.id;
$(row).attr('id', 'data-'+dataid);
},
});
$(function() {
$("#sortable").sortable({
revert: true,
cursor: 'move',
handle: ".sec",
stop: function(event, ui){
var data = $(this).sortable('serialize');
console.log(data);
$.ajax({
type: "POST",
dataType: "json",
data: data,
url:"/SortUpdate/HomePage/",
success: function(response){
if(response.Status == "ok"){
}
if(response.Status == "error"){
}
}
});
}
});
$("#sortable").disableSelection();
});
verileride bu şekilde alıyorum.
Array
(
[item] => Array
(
[0] => 10
[1] => 7
[2] => 13
[3] => 4
[4] => 8
[5] => 14
[6] => 6
[7] => 5
[8] => 15
[9] => 3
)
)
// data[]=7&data[]=13&data[]=4&data[]=10&data[]=8&data[]=14&data[]=6&data[]=5&data[]=15&data[]=3
burda kafamın almadığı yer ise sıralama değişiyor veriler de ona göre geliyor bunu php tarafında nasıl harmanlayacağım.