Chcem zmeniť množstvo stĺpcov v dátovej tabuľke pomocou JSON paramu, ktorý dostal Ajax, keď datová tabuľka uskutočnila hovor.
Tak som to skúsil:
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,
...
Ale zistil som, že pole stĺpcov používa dátaTable BEFORE dátSRC, takže keď funkcia zmení pole stĺpcov, je príliš neskoro.
Ako to môžem urobiť bez druhého Ajaxovho volania? Jednoducho používajte volanie s dátovým číslom.
odpovede:
1 pre odpoveď č. 1Spusťte svoju datovú tabuľku v spätnom volaní ajax.
$.ajax({
//get your json params
}).done(function(response){
$("#table").dataTable({response});
});
Dáta ako metóda remizovania (), ktorá sila vyniesla tabuľku na webovej stránke.
Môžete to urobiť aj sľubmi.