Я установил глобальную переменную в верхней части моей страницы. P_Col = '0';Передача переменной между функциями данных
Я изменяю эту переменную в функции fnRowCallback, а затем пытаюсь использовать ее в функции aaSorting, но aaSorting использует 0, он никогда не получает обновленное значение переменной из функции обратного вызова. Кто-нибудь может мне с этим помочь?
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var oSettings = oTable.fnSettings();
$.each(oSettings.aoColumns, function(i,value){
if (value.sTitle == "Priority"){
P_Col = i;
};
$.each(aData, function(ii,value2){
if (value.sTitle == "Priority" && aData[i] != ""){
$('td:eq(' + i + ')', nRow).css('background-color', '#F6CED8');
}
});
});
} ,
"aaSorting": [[P_Col, 'desc'], [12, 'asc']]
Я попытался это без какого-либо успеха, к сожалению. Похоже, вы не можете использовать fnSort в fnDrawCallback. Таблица не загружается. – user3101337
Действительно ли вы можете p_col перед инициализацией таблицы данных? Или вы можете вызвать fnSort() после инициализации. Если вы разместите более полный код, я могу предложить другие рекомендации. – Bret
P_Col устанавливается в «0» сразу после готовности документа, задолго до инициализации таблицы. Если я вызываю fnSort() после инициализации, он использует значение '0', которое я установил ранее. По какой-то причине fnRowCallback не обновляет значение в переменной. Я делаю все это, поэтому я могу форматировать данные и сортировать на основе имени столбца, а не индекса. Если я использую ColReorder, индекс изменится, и форматирование будет испорчено. – user3101337