LINUX.ORG.RU

Если не <table>, то что?

 


0

1

Привет, ночной.
Сегодня вопрос такой.

Есть какая-то большая таблица с данными, которую нужно отображать на редактирование.
Пусть это будет такая.

Сейчас это огромная форма и она же таблица, и её открытие в, например, firefox >= 58 приводит к дичайшим тормозам даже на i7 8550U.

В связи с этим, нас не покидает ощущение, что делаем мы что-то не так.
Вопрос — как это реализовывается нынче так, чтобы всё это не тормозило на любом железе и работало с любым браузером? (читай без кучи js-фреймворков)

огромная форма и она же таблица

постраничная навигация, 10 позиций на странице, прикрутить поиск. не?

если не, то предлагаю отображать json-массив с данными в textarea. редактировать будет достаточно пердольно и пользователи оценят. зато быстро и доступно.

Spoofing ★★★★★ ()
Последнее исправление: Spoofing (всего исправлений: 1)

огромная форма

Зачем? Ну хоть по строчкам формы запилите.

Это вообще статика (отдаете html) или как-то генерится через js'ы?

micronekodesu ★★ ()
Ответ на: комментарий от Spoofing

Это всё как-то очень странно, неужели нет ничего современного и не тормозящего?

annerleen ★★ ()
Ответ на: комментарий от annerleen

Я запилил файлик на 5К строк таблицы по 5 колонок с юидами, мой FF успел его отрисовать быстрее, чем я с терминала переключился на вкладку браузера, при том что у меня тут i3 6100U. У вас гораздо больше данных или таки какая-то магия внутри есть?

micronekodesu ★★ ()
Последнее исправление: micronekodesu (всего исправлений: 1)

Гугли по «js <любимый фреймворк> datagrid». Без фреймворков — они есть и под jquery, но зачем?

Суть: когда у тебя совсем много ячеек (строки * столбцы) и каждая из них — элемент DOM, браузер может виснуть. datagrid'ы умеют держать их вне DOM'а (пагинация либо виртуальный скроллинг), поэтому в них любые таблицы работают без тормозов.

https://www.datatables.net/ может быть ок для начала, но вообще их — сотни.

x3al ★★★★★ ()
Ответ на: комментарий от x3al

И да, https://www.datatables.net/extensions/scroller/examples/initialisation/server... оно умеет в безумное число строк если ты хочешь скроллинг вместо пагинации. Но тебе всё равно нужно будет пользоваться встроенным-в-грид поиском (браузерный не знает ничего про виртуальный скроллинг), поэтому страницы обычно нагляднее. Если твой грид умеет сортировку и фильтры, конечно.

x3al ★★★★★ ()

Если пагинация не подходит, то тогда обычная таблица с динамически создаваемыми контролами (при клике) для редактирования.

Я бы сделал на чистом JS без фреймворков, но можно взять какой-нибудь готовый инструмент.

VeroLom ★★ ()
Ответ на: комментарий от annerleen

Есть. Контролы в стиле Google tabs. Или то же самое самому запилить

Shadow ★★★★★ ()

никому не нужна форма с более чем сотней строк - в ней никто ни чего не найдёт и не поймёт.

1. генерить эксель(html представление)/csv/xml для работы во внешней программе.

2. Загнать все данные в json и отобразить 100 строк + поиск. Любой json datagrid подойдёт.

vtVitus ★★★★★ ()
Последнее исправление: vtVitus (всего исправлений: 2)

Сейчас это огромная форма и она же таблица

Сколько строк?

У меня 10 000 строк 8-колоночной вложенной таблицы (для прокрутки), генеряемой с помощью vue.js, не тормозило на 7100U. Вы что-то делаете не так.

WitcherGeralt ★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)