2014-01-27 4 views
0

Я хочу таблицу с классом .table-currency иметь несколько столбцов с sType: currency в моих DataTables,простирающегося aoColumnDefs по нескольким классам

Таблицы с .table-checkable, которые имеют флажок в первом столбце должен быть 1-й столбца не Сортируемого

у меня есть этот код

// Checkable Tables 
if (self.hasClass('table-checkable')) { 
    $.extend(true, options, { 
     'aoColumnDefs': [ 
      { 'bSortable': false, 'aTargets': [0] } 
     ] 
    }); 
} 

// Currency fields 
if (self.hasClass('table-currency')) { 

    var columns = self.data('currency'); 

    $.extend(true, options, { 
     "aoColumnDefs": [ 
      {"sType": "currency", "bSortable": true, "aTargets": columns} 
     ] 
    });  
} 

Теперь, когда таблица имеет как.table-checkable и .table-currency , он применяет только правило валюты, потому что он перезаписывает aoColumnDefs.

Как сделать так, чтобы массив aoColumnDefs слился?

ответ

0

Нашел решение самостоятельно, указав сначала options.aoColumnDefs, и поля .push 'ing.

options.aoColumnDefs = []; 

// Checkable Tables 
if (self.hasClass('table-checkable')) { 
    options.aoColumnDefs.push({ 'bSortable': false, 'aTargets': [0] }); 
} 

// Currency fields 
if (self.hasClass('table-currency')) { 
    var columns = self.data('currency'); 
    options.aoColumnDefs.push({"sType": "currency", "bSortable": true, "aTargets": columns}); 
} 
Смежные вопросы