2016-12-14 4 views
0

Я пытаюсь извлечь массив строк из моего datatable. Моя проблема в том, что у меня есть некоторые поля json, которые заполняют таблицу, которую я не показываю в таблице. Когда я пользуюсьJQuery datatables. Массив строк видимых столбцов

$('#myTable').DataTable().rows().data().toArray() 

Я получаю те поля, которые мне не нужны.

¿Как я могу получить этот массив отображаемых полей или столбцов?

Заранее спасибо.

ответ

1

Вам необходимо использовать selector-modifier.

$('#myTable').DataTable().rows({search:'applied'}).data().toArray(); 

-------------------------------------

EDIT

Возможный способ выполнить то, о чем вы просите, это сначала проверить, какие столбцы видны. Затем обрабатывайте каждую строку результата и получайте только нужные вам поля.

var columns = $('#myTable').DataTable().columns().visible(); 
var rows = $('#myTable').DataTable().rows().data().toArray(); 
var result = []; // this array will contain only the visible fields of each row 
for (var i = 0; i < rows.length; ++i) { 
    var row = []; 
    for (var j = 0; j < columns.length; ++j) 
     if (columns[j]) // is visible 
      row.push(rows[i][j]); 
    result.push(row); 
} 
+0

Привет, Dacklf, я получаю тот же результат с помощью селектор-модификатора. Проблема в том, что для заполнения данных datatable я использую json с большим количеством полей, которые я использую в таблице. И используя data(), я получаю те поля, которые мне не нужны в этот раз. Спасибо за ваше время – MKP

+0

О, извините, я пропустил то, о чем вы просили. Проверьте изменение. – Dacklf

+0

Это было мое решение: – MKP

Смежные вопросы