powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печать таблицы, на нескольких страницах
8 сообщений из 8, страница 1 из 1
Печать таблицы, на нескольких страницах
    #35866977
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.
Возникла необходимость выводить на печать html - документ с данными в виде таблицы, таблица будет большая больше чем на 1 страницу, как можно сделать что бы на новой странице печаталась шапка таблицы.
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35867232
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак. Разбивайте данные на несколько таблиц.
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35867802
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<TABLE>
<THEAD>
<TR>
<TD>
This text is in the table header.
</TD>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>
This text is in the table body.<br />
...
</TD>
</TR>
</TBODY>
</TABLE>

Необходимо использовать тэги - колонтитулы THEAD TBODY тогда если таблица большая THEAD буде перепечатываться снова.
Работает в файрвоксе наверное в ИЕ то же работает.
Будем считать что тема закрыта.
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35868032
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к сожалению в IE не работает.
А как разбивать на несколько таблиц. как определять когда надо завершать одну таблицу и начинать другую.???
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35868554
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица должна быть конкретной фиксированной ширины, чтобы помещалась на лист бумаги.
1) Создаешь новую пустую невидимую таблицу с теми же параметрами, что и таблица с данными. Для надежности можно добавить ей стиль page-break- after :always.
2) Добавляешь в нее шапку.
3) Получаешь все строки таблицы с данныыми, перебираешь их до строки, offsetTop которой (или clientTop, не помню точно) выходит за границу очередного листа. Пиксели нужно переводить в миллиметры и сответственно запоминать уже отсчитанную высоту, учитывая поля листа и высоту шапки.
4) С помощью cloneNode создаешь аналогичные строки и добавляешь в новую таблицу.
5) Повторяешь пп 1-4 для каждого блока.
6) Перемещаешь созданные таблицы перед исходной, отображаешь, а исходную прячешь или удаляешь.

Есть другой вариант. Можно добавлять шапку в нужное место таблицы.
П. 3 остается неизменным, вместо всех других операций делаешь следующее: создаешь новый thead или tr шапки (в зависимости от ее кол-ва строк), помещаешь его в таблицу и перемещаешь в нужное место с помощью moveRow. И опять таки для надежности добавляешь page-break- before :always.

Более простой способ придумать не могу)
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35868566
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нечто похожее я уже делал, но у меня строки были фиксированной высоты и не было шапок.
Нужно было раскидать таблицу на несколько листов этикеточной самоклейки, чтобы каждая ячейка четко попала на этикетку.
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35868975
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
грустно получается.
получится много когда :(
...
Рейтинг: 0 / 0
Печать таблицы, на нескольких страницах
    #35868976
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пример можешь выложить или выслать на ящик mikola1982@sibmail.com
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печать таблицы, на нескольких страницах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]