2016-08-08 3 views
1

У меня есть данные с сортируемой колонкой. Щелчок по заголовку сортирует его. Все идет нормально. Однако после сортировки я хочу, чтобы итерации ячеек в столбце. Таким образом, я делаю это:Сортировка столбцов с помощью функции cell()

datatable.column(".latest").nodes().each(function (node, index, dt) { 
var the_cell = this.cell(index, '.sto_bid').node(); 

Однако это отводит ячейку перед сортировкой колонки. Другими словами, index = 0 отбрасывает то, что теперь является последней ячейкой в ​​столбце. Как сбросить индексы при сортировке, поэтому cell (0, '.sto_bid') вернет первую ячейку, показанную в таблице?

Документы, похоже, предполагают, что вызов draw() делает то, что мне нужно, - он сбрасывает данные. Это не делает ничего для меня, когда я делаю это сначала:

datatable.draw() 

Индекс заказа по-прежнему находится в обратном порядке.

ответ

0

Вот что я сделал:

// My custom sort function on the raw data array 
sortFilteredGridData(); 

// Remove all rows from the table 
table.clear(); 

// Add the data back to the table 
table.rows.add(filteredGridData); 

// I have a fixed header 
table.fixedHeader.adjust(); 

// Re-draw 
table.draw(); 
0

Вы хотите применить найденную тег в возвращаемых данные:

contentTable.cells({search:'applied'}, ".latest").nodes(); 

Это должно получить все DOM элементов ячеек в .latest, в порядке их существования на странице. Это похоже на другой подход к захвату узлов, чем ваш код, поэтому я не знаю, как точно применить его к вашей ситуации, но это должно привести вас в правильном направлении.

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