2015-08-20 6 views
0

У меня есть jquery datatable, сортировка которого отключена. На самом деле я хотел, чтобы это была страница и несколько других функций. Проблема в том, что теперь, когда я делаю свой .DataTable(). Row.add ([]), строка добавляется в нижнюю часть таблицы. Я понял, что могу просто приложить к столу, но он не будет «повторно рисовать» таблицу.jquery datatable добавить строку в начало

Как я могу сделать .DataTable(). Row.add ([]) вместо того, чтобы добавлять данные?

+1

Позиция вставленной строки определяется любой сортировкой, существующей в DataTable. Конечно, вы можете просто использовать 'prepend()', а затем 'draw()'. – BenM

+0

Если перерисовка таблицы после добавления строки работает как решение, есть несколько способов сделать это, но прежде чем поделиться, сообщите мне, будет ли это работать для вас, и я отправлю ответ. – jonmrich

+0

Я пробовал это, но происходит то, что элемент получает добавленный затем, когда я делаю DataTable.draw(), предварительно сохраненный элемент удаляется, и отображается только исходная таблица. Это похоже на то, что ничья удаляет новый элемент. – Mav2287

ответ

1

Если кому-то еще нужно это сделать, я закончил с этим кодом. DataTableVAR будет использоваться для того, что вы используете в качестве переменной для своего DataTable.

var index = 0, //0 sets the index as the first row 
     rowCount = DataTableVAR.data().length-1, 
     insertedRow = DataTableVAR.row(rowCount).data(), 
     tempRow; 

    for (var i=rowCount;i>index;i--) { 
     tempRow = DataTableVAR.row(i-1).data(); 
     DataTableVAR.row(i).data(tempRow); 
     DataTableVAR.row(i-1).data(insertedRow); 
    }  
    //refresh the page 
    DataTableVAR.page(currentPage).draw(false); 
Смежные вопросы