Доброго времени суток. Посоветуйте пожалуйста адекватные библиотеки для создания таблиц.
Таблица будет использоваться с Marionette.ItemView и Backbone.Collection.
Минимальный необходимый ф-л
1. Сортировка
2. Группировка
3. Пагинация + (Virtual Load On Demand Mode - scrollbar paging)
4. Фильтрация
5. Кастомизация колонок и ячеек.
6. Изменение ширины колонки
7. Autowidth
8. Responsive
9. Show/hidden columns.
1. Backgridjs.com
Казалось бы, лучший вариант. Но из коробки совершенно пустое решение. Отказался сразу
2. JS-GRID
Cимпотичное решение. К сожалению судя по всему имеется не весь фугкционал
3. jqGrid.
В данный момент остановился на этой библиотеке. У нее хороший функционал, но общее впечатление от работы с библиотекой сомнительное. Вроде хороший функционал, но везде есть мелочи, которые сводят все преимущества на нет. К примеру мне необходимо позволят пользователям менять ширину колонки, но при этом таблица должна занимать 100% отведенной ей ширины. К сожалению, если сжать все колонки, общая ширина таблицы уменьшается. Если вызыват ".trigger('resize');" то ширина колонок становиться прежней.
Все это с учетом того, что ширина столбцов храниться в настройках пользователя. Вот событие обновления ширины.
this.$grid.on("jqGridResizeStop", function (events, newwidth, index) {
var name = this.$grid.jqGrid("getGridParam", "colModel")[index].name;
this.columnsCollection.updateWidth(name, newwidth);
this.$grid.trigger('resize');
}.bind(this));