2016-03-31 8 views
0

dataTable aramayı yaptığında Ajax tarafından yakalanan bir JSON paramını kullanarak dataTable'daki sütunların miktarını değiştirmek istiyorum. Verileri değiştir ajax aramasını kullanarak sütunları girin

yüzden çalıştı bu:

var columns = [ 
     {data: "data1"}, 
     {data: "data2"}, 
     {data: "data3"} 
    ]; 

$("#table").dataTable({ 
     ajax: { 
      url: 'controller/get_table', 
      dataSrc: function (json) { 
       if (json.param) { 
        columns.push({data: "data4"}); 
        columns.push({data: "data5"}); 
       } 
       return json.data; 
      } 
     }, 
     columns: columns, 
     ... 

ANCAK ben sütunların dizisi DATASRC ÖNCE dataTable tarafından kullanılır, bu nedenle fonksiyon sütunlar dizisi değiştirdiğinde, çok geç olduğunu keşfettik.

Param için ikinci bir Ajax çağrısı olmadan nasıl yapabilirim? Sadece dataTable çağrısını kullanarak.

cevap

1

Verilerinizi ajax geri aramada bulunun.

$.ajax({ 
//get your json params 
}).done(function(response){ 
    $("#table").dataTable({response}); 
}); 

Grafiği web sayfasındaki tabloyu çizen bir draw() yöntemi olarak verilebilir.

Ayrıca sözlerle de yapabilirsiniz.

+0

Açıkçası ben düşünmüyordum, teşekkür ederim! – Hector