Мне нужно загрузить состояние из базы данных. Я не знаю, как я могу изменить состояние (ColReorder, ColVis и т. Д.).
При первой загрузке установите настройки из моей базы данных в fnStateLoadCallback
.
Затем я использую только по нажатию кнопки «Да» oTableDrucken.fnReloadAjax();
и установлю мои новые настройки из базы данных, но он не прошел функцию fnStateLoadCallback
.
oTableDrucken = $('#table_drucken').dataTable({
"bServerSide": false,
"bProcessing": true,
"bLengthChange": false,
"bAutoWidth" : false,
"oColVis": {
"buttonText": "Zeige/Verstecke Spalten"
},
"sDom": 'r<"F"<"toolbar"RfC>>t<"F"i>',
"sAjaxSource": "includes/sites/json_data.php",
"fnServerData": function( sSource, aoData, fnCallback ) {
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
"fnInitComplete": function (sdata,responseData) {
init_TableTools(oTableDrucken,responseData["logo"]);
},
"aoColumns": [
/* 1 ID */ { "sClass": "name", "mDataProp": "id" , "sName": "id" },
/* 2 Name */ { "sClass": "name", "mDataProp": "name" , "sName": "name" },
],
"bStateSave": true,
"fnStateSaveCallback": function ( oSettings, sValue ) {
//Gives me the ColReorder Settings
var valueObj = $(oTableDrucken).dataTable().dataTableSettings[0].aoStateSave[1].fn(null,sValue)+"}";
dataTableSettings = $.parseJSON(valueObj);
return sValue;
},
"fnCookieCallback": function(sName, oData, sExpires, sPath) {
console.log("cookieCallback");
return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
},
"fnStateLoadCallback": function ( oSettings, oData ) {
oData.ColReorder = dataTableSettings.ColReorder;
oData.abVisCols = dataTableSettings.abVisCols;
return true;
},
"bJQueryUI": true,
"bPaginate": false,
"bLengthChange": false,
"bFilter": true,
"bSort": true,
"bInfo": true,
"oLanguage": oCustomLanguage("drucken")
});