JQuery Scrollable, Sortable, Filterable table

Я хочу использовать jQuery для обработки нескольких очень распространенных запросов, которые мы получаем для таблиц данных разного размера: прокрутка, сортировка и динамическая фильтрация.

  • Раньше я обрабатывал прокрутку, имея две отдельные таблицы со столбцами фиксированной ширины, а также связанные с ними контейнеры div для «фактической» прокрутки. Однако этот метод не работает ни с одним из расширений таблиц сортировки на основе jQuery, с которыми я сталкивался (на данный момент мне больше всего нравится tableorter), поскольку они хотят, чтобы все было в одной таблице.
  • Для фильтрации они запрашивают что-то вроде того, как это делают списки Excel и SharePoint (в основном все значения столбцов перечислены в раскрывающемся списке, что позволяет пользователю выбирать / отменять их выбор). Я еще ничего подобного не видел, хотя это кажется возможным.
  • Еще одна сопутствующая полезная функция - это возможность «заморозить» столбец для горизонтальной прокрутки.

В идеале я бы хотел существующее расширение, но если его нет, я также был бы признателен за предложения от любых гуру jQuery о том, как лучше всего его реализовать. Мои текущие мысли - погрузиться в Tableorter и при необходимости расширить / обновить его.

Надеюсь, что все будет сфокусировано, пейджинг - это не вариант (как и все, что основано на сервере, если на то пошло).

Обновлять: Я ценю ответы на данный момент, но ни один из приведенных до сих пор вариантов не затрагивает аспект фильтрации (при этом я должен признать, что jqGrid выглядит очень хорошо для некоторых будущих проектов, которые у меня есть). А пока я буду работать над настраиваемым решением для фильтрации; если получится, обновлю еще раз.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
26
0
63 156
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Может быть, этот отличный плагин сможет это сделать:

Демо-страница

Он называется jQGrid, вот страница проекта: http://plugins.jquery.com/project/jqGrid

Я бы посоветовал вам попробовать Flexigrid.

У него много замечательных функций, и я лично считаю, что он выглядит более профессионально, чем jqGrid.

В нем нет некоторых функций, о которых вы просили, но я думаю, что это может быть хорошим началом. Было бы здорово, если бы вы могли поработать над добавлением некоторых из этих функций в кодовую базу.

Если вы кодируете на C#, то я опубликовал запись в блоге о том, как использовать LINQ to Reflection для привязки JSON к Flexigrid ... если вы используете другой язык, есть другие примеры, которые вы можете найти на странице Веб-сайт Flexigrid & Группа Google.

Ссылка на этот сайт не работает; эта страница проекта - это тот же "Flexigrid"? code.google.com/p/flexigrid

Sixten Otto 15.05.2009 02:20

Как упоминалось в моем обновлении, в итоге я использовал настраиваемое расширение фильтрации (к сожалению, с закрытым исходным кодом). Недавно я начал использовать SlickGrid, и теперь это моя сетка.

С тех пор я перешел на DataTables (теперь принят ответ). Для моих текущих наборов данных он работает хорошо, и было несложно заставить его хорошо выглядеть с моим пользовательским интерфейсом.

pdwetz 28.08.2014 06:38
Ответ принят как подходящий

Я столкнулся с этим вопросом, когда сам искал плагин для сортировки таблиц; Меня не особо впечатлил ни один из предложенных виджетов, но позже я обнаружил Таблицы данных и был весьма впечатлен. Рекомендую это проверить.

Я хотел бы добавить таблицы данных со вкусом Laravel (GitHub, API jquery DataTables) - идеально, если вы уже работаете с PHP / Laravel.

Дополнительно, коалипт / TableFilter еще одна настраиваемая таблица фильтров (на самом деле, моя любимая).

Другие вопросы по теме