Можно ли добавить новую строку после второй/третьей/... n-й строки в JQuery datatable? Я использовал этот метод fnAddData ([...]). Работает так, как ожидалось. Но мне нужно добавить запись между двумя строками. Пожалуйста, кто-нибудь мне помочь ..JQuery datatable добавить новую строку по указанному индексу
ответ
Я разделяю с вами, что я сделал:
// for example you want to insert after the 2nd row
var numberOfRowAfterYouWantToInsert = 2;
var rowAfterYouWantToInsert = $("#yourTableId tr").eq(numberOfRowAfterYouWantToInsert);
var rowsAfter_rowAfterYouWantToInsert = rowAfterYouWantToInsert.nextAll();
var standbyTable = $("<table>");
// remove rows by putting over to a standby table
standbyTable.append(rowsAfter_rowAfterYouWantToInsert);
// just did an empty tr here
var tr = $("<tr>");
// append it
$("#yourTableId").append(tr);
// and put back those removed rows to the original table
$("#tableID").append(rowsAfter_rowAfterYouWantToInsert);
Это решение является простым, удобным для чтения, и главное преимущество: она работает :) Надеюсь, что это помогает Вам!
EDIT: я понял, что есть гораздо более простое решение:
// for example you want to insert after the 2nd row
var numberOfRowAfterYouWantToInsert = 2;
var rowAfterYouWantToInsert = $("#yourTableId tr").eq(numberOfRowAfterYouWantToInsert);
// new row with two cells
var tr = $("<tr><td>asd</td><td>qwe</td></tr>");
rowAfterYouWantToInsert.after(tr);
Это не работает для JQuery Datatable. Когда вы сортируете таблицу, эта строка теряется. –
@LucioFonseca если вы не используете $ ("# yourTableId"). Trigger ("update"); после добавления строки, он будет потерян (если я хорошо знаю о сортировке) – SzGyD
Это работает для меня. Возьмите массив из datatable, сплайсинга в нужном вам индексе, затем перерисуйте datatable. Таким образом, если вам нужно сделать перерисовку - добавленные вами значения будут по-прежнему находиться в таблице.
var newRow = [1, 2, 3]; // new row in the datatable
var index = 4; // index for the new row to be added
var currentRows = datatable.data().toArray(); // current table data
currentRows.splice(index, 0, newRow);
datatable.clear();
datatable.rows.add(currentRows);
datatable.draw();
- 1. Добавить кнопки в ArrayList по указанному индексу
- 2. Как добавить новую строку в ui-сетку по определенному индексу
- 3. Вставка новой строки по указанному индексу в html
- 4. Заменить элемент в массиве по указанному индексу
- 5. Добавить новую строку в существующий динамический datatable
- 6. Невозможно добавить новую строку в datatable [C#]
- 7. OutOfMemoryError при попытке добавить в ArrayList по указанному индексу
- 8. Как добавить значение к указанному индексу массива
- 9. jquery datatable добавить строку undefined?
- 10. Получение идентификатора аккордеона по указанному индексу
- 11. Удаление значения по указанному индексу словаря swift
- 12. Javascript: Многомерный массив сортировки по указанному индексу?
- 13. Зацикливание и удаление элементов по указанному индексу
- 14. Удалить элемент в списке по указанному индексу
- 15. Jquery JSON добавить новую строку
- 16. Добавить новую строку в DataTable с помощью td с кнопками
- 17. Вставьте новую строку в DataTable
- 18. Как добавить новую строку как html в существующий datatable
- 19. Добавить новую строку в DataTable для суб общего
- 20. Манипулировать строку, вставляя по индексу
- 21. jquery datatable добавить класс в строку
- 22. DataTable Как добавить строку с атрибутами JQuery?
- 23. jquery datatable добавить строку в начало
- 24. Добавить новую строку в datagridview
- 25. Добавить новую строку со значением по умолчанию
- 26. Slickgrid добавить новую строку по запросу
- 27. Класс CustomList, что является хорошим способом удалить по указанному индексу?
- 28. Добавить новую строку таблицы в jQuery динамически
- 29. Как отсортировать список массивов, элемент по указанному индексу в массиве
- 30. Дата Increment на добавить новую строку
Не могли бы вы создать jsFiddle, показывающий проблему? – Justin
http://datatables.net/forums/discussion/11899/unable-to-add-row-in-the-middle-of-a-data-table/p1 Он предлагает «включить сортировку, но отключить сортировку и использование пользователей» aaSortingFixed для сортировки сил всегда встречаются в скрытом столбце - столбце индекса. Затем, когда вы вставляете новую строку, читайте индекс сортировки для строки, которую хотите вставить новую строку после, и установите индекс сортировки для новой строки чтобы быть выше, поэтому он будет вставлен в правильное место :-). Вам также нужно будет перебрать все строки и увеличить индекс сортировки для существующих строк, которые выше точки вставки « –