Прокручиваемая таблица HTML с верхней строкой и левым столбцом - PullRequest
11 голосов
/ 09 июля 2009

Кто-нибудь смог реализовать прокручиваемую таблицу в HTML, где строки TOP и столбцы LEFT заморожены, но остальная часть таблицы прокручивается? Прекрасный пример этого: Google Squared

Я пытался выполнить обратный инжиниринг кода для таблицы в квадрате Google, но пока мне это не удалось.

Примечание: мне нужна возможность заморозить верхнюю строку и левую колонку одновременно.

Ответы [ 5 ]

3 голосов
/ 09 июля 2009

Есть рабочий пример на http://ajaxian.com/archives/freeze-pane-functionality, который должно быть легко скопировать. Обязательно обратите внимание на комментарии - многие пользователи внесли полезные предложения по улучшению скрипта.

По запросу @ Nirk прямая ссылка на активную демо-версию: http://www.disconova.com/open_source/files/freezepanes.htm.

1 голос
/ 09 июля 2009

Перейти с базовой структурой, как это-

table
  row
    column (blank)
    column
      table (1 row high, column headers)
  row
    column 
      table (1 column wide, row headers)
    column
      div (fixed height & width, overflow auto)
        table (actual data)

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

0 голосов
/ 22 августа 2009

у меня есть используемая версия (для отображения в стиле диаграммы Ганта).

он использует 3 таблицы: 1 для левого столбца (строки), 1 для верхнего (столбцы), а затем данные.

вам нужно усердно работать, чтобы ячейки соответствовали размерам с теми, до которых они соответствовали ( table layout-fixed может помочь добиться этого).

Затем таблицы помещаются в несколько элементов div; левый и верхний делители имеют (как предложено выше) высоту и ширину и overflow-auto в их CSS.

Затем вы подключаете некоторый javascript для синхронизации прокрутки левого / верхнего делителей с внутренним ...

Насколько я помню, было довольно много слов "прокляни и попробуй снова", но это можно сделать с минимальным js.

НТН

0 голосов
/ 09 июля 2009

Вам нужно Прокручиваемый (плагин jQuery)

Демо здесь

0 голосов
/ 09 июля 2009

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

...