Есть несколько хороших библиотек JS, чтобы сделать HTML-таблицы динамически доступными на клиенте, но я не смог найти тот, который обрабатывает строки, которые классифицируются. Вот небольшой пример вида таблицы я имею в виду:Динамически сортировать HTML-таблицу с категориями строк
╔═══╦═════════╦═══════╦══════════════╗
║ ║ Name▾ ║ Zip ║ Pet ║
╠═══╬═════════╬═══════╬══════════════╣
║ ║ Alice ║ 14124 ║ Squirrel ║
║ A ║ Alfred ║ 24601 ║ Meerkat ║
║ ║ Anupam ║ 91532 ║ Gila monster ║
╠═══╬═════════╬═══════╬══════════════╣
║ ║ Bernice ║ 03413 ║ Rock ║
║ B ║ Boris ║ 32610 ║ Fish ║
║ ║ Betty ║ 71011 ║ Elephant ║
╚═══╩═════════╩═══════╩══════════════╝
Кто-нибудь написал таблицу сортировщик, который будет автоматически разбит на столбец категоризации, когда таблица отсортирована по Zip или Pet столбцов (так что теперь он выглядит это:
╔═══╦═════════╦═══════╦══════════════╗
║ ║ Name ║ Zip▾ ║ Pet ║
╠═══╬═════════╬═══════╬══════════════╣
║ B ║ Bernice ║ 03413 ║ Rock ║
║ A ║ Alice ║ 14124 ║ Squirrel ║
║ B ║ Boris ║ 22310 ║ Fish ║
║ A ║ Alfred ║ 24601 ║ Meerkat ║
║ B ║ Betty ║ 71011 ║ Elephant ║
║ A ║ Anupam ║ 91032 ║ Gila monster ║
╚═══╩═════════╩═══════╩══════════════╝
) и повторно слить его снова, когда таблица сортируется по имени? В противном случае, как насчет сортировщика таблиц, который знает, как сортировать только в пределах категорий, оставив при этом порядок категорий в одиночку? (Это приемлемо для реальной таблицы, которую я хочу сортировать, хотя, очевидно, не для этого примера игрушек.)
Я также буду рад принять лучшие идеи для этой ситуации, если у кого-то есть.
Кажется, что алгоритм будет заключаться в следующем: 1) удалить разделители (если таковые имеются), 2) cортировать по желаемому столбцу, используя любой код сортировки, 3) проверьте, нужны ли сортировочные столбцы разделители, и если да, сканируйте строку за строкой, чтобы добавить разделитель в нужное место. – jfriend00
Я могу изменить способ генерации HTML, если он делает вещи значительно проще на стороне клиента, но прямо сейчас нет разделительных строк (может быть, однако, это «это первая строка в этой категории», метки класса - стиль пока еще не завершена), а в столбце «категория» много «
Это может быть излишним для задачи, но я знаю, что [jqGrid] (http://www.trirand.com/blog/jqgrid/jqgrid.html) обрабатывает динамическую группировку. Тем не менее, он использует другой формат группировки. Я уверен, что вы можете перехватить операцию сортировки, чтобы удалить группировку, когда захотите. – plalx
ответ
Хорошо, я попытался создать код для вашей проблемы. Это не лучший способ сделать это, но, похоже, он работал хе-хе. Сообщите мне, если это хорошо для вас, и если да, если вы в порядке, чтобы реализовать его так, как вы хотите.
я буду стараться улучшить его и превратить его в плагин JQuery:
http://jsfiddle.net/chambs/TRnP7
источник
2013-04-02 02:06:07 chambs
Смежные вопросы