2009-07-08 4 views
11

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

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

Примечание: Мне нужна возможность БЕСПЛАТНО TOP ROW и LEFT COLUMN в одно и то же время.

+0

Ссылка не работает. Можете ли вы предоставить новую, потому что мне действительно любопытно, какова практическая ценность такой таблицы. –

ответ

3

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

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

+3

Кто-нибудь нашел лучший способ сделать это? Я работаю с некоторыми ОГРОМНЫМИ наборами данных, и поэтому в таблицах содержится много данных, клонирование которых до 4 раз просто не работает. Есть ли у jQuery какие-либо методы для достижения этой же цели? –

+0

Я умышленно связан с этой статьей - комментарии предоставили много полезных улучшений, которые должен рассмотреть плакат, ИМО. – anschauung

-1

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

1

Перейти с основной структурой, как this-

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) 

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

+2

Что делать, если вы хотите, чтобы содержимое ячейки определяло размеры ячеек (т. Е. Использовали таблицу по умолчанию)? – allyourcode

0

У меня есть версия этого в использовании (для отображения стиля Gantt-chart).

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

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

Таблицы затем помещаются в некоторые div; левые и верхние divs имеют (как указано выше) высоту & ширина и overflow-auto в их css.

Вы затем подключить некоторые JavaScript для синхронизации прокрутки левых/верхних див с внутренними один ...

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

hth

Смежные вопросы