2014-07-02 1 views
0

У меня есть <table>, где каждый <tr> состоит из <td>, содержащего идентификатор группы и <td colspan="3">, который содержит дополнительный <table> со многими подробностями для данной группы. Моя проблема в том, что когда таблица печатается, а строка в основной таблице неизбежно разделяется, я получаю пустое столбец «Имя группы» на следующей странице. Как и ...Можно ли повторять данные столбца без заголовка после того, как строка разбита на разрывы страницы?

#####################################################################
|Group Name| Detail 1 | Detail 2 | Detail 3 |
#####################################################################
| Name 1 |Detail 1.A |Detail 2.A |Detail 3.A |
| |_________________|_________________|____________________|
| |Detail 1.B |Detail 2.B |Detail 3.B |
| |_________________|_________________|____________________| | |Detail 1.C |Detail 2.C |Detail 3.C |
| |_________________|_________________|____________________|

#####################################################################
|Group Name| Detail 1 | Detail 2 | Detail 3 |
#####################################################################
| |Detail 1.D |Detail 2.D |Detail 3.D |
| |_________________|_________________|____________________| | |Detail 1.E |Detail 2.E |Detail 3.E |
|__________|_________________|_________________|____________________|
| Name 2 |Detail 1.A |Detail 2.A |Detail 3.A |
| |_________________|_________________|____________________|
| |Detail 1.B |Detail 2.B |Detail 3.B |
| |_________________|_________________|____________________| | |Detail 1.C |Detail 2.C |Detail 3.C |
| |_________________|_________________|____________________|

Есть ли способ, чтобы получить значение строки «Имя группы», чтобы быть повторено после страницы-брейка, так это выглядит, как это?

#####################################################################
|Group Name| Detail 1 | Detail 2 | Detail 3 |
#####################################################################
| Name 1 |Detail 1.A |Detail 2.A |Detail 3.A |
| |_________________|_________________|____________________|
| |Detail 1.B |Detail 2.B |Detail 3.B |
| |_________________|_________________|____________________| | |Detail 1.C |Detail 2.C |Detail 3.C |
| |_________________|_________________|____________________|

#####################################################################
|Group Name| Detail 1 | Detail 2 | Detail 3 |
#####################################################################
| Name 1 |Detail 1.D |Detail 2.D |Detail 3.D |
| |_________________|_________________|____________________| | |Detail 1.E |Detail 2.E |Detail 3.E |
|__________|_________________|_________________|____________________|
| Name 2 |Detail 1.A |Detail 2.A |Detail 3.A |
| |_________________|_________________|____________________|
| |Detail 1.B |Detail 2.B |Detail 3.B |
| |_________________|_________________|____________________| | |Detail 1.C |Detail 2.C |Detail 3.C |
| |_________________|_________________|____________________|

Спасибо заранее !!

EDIT
Когда я говорю, что главная таблица «неизбежно раскол» Я имею в виду, что есть группы с таким количеством деталей, что они не могут содержаться на одной странице. Поэтому, даже если эти группы должны были быть первой строкой на странице, они все равно перейдут на дополнительные страницы, а столбец «Название группы» будет разделен.

+0

Я бы сказал, что очевидный ответ здесь - «да», но информации недостаточно, чтобы сообщить, как это сделать. Как главный стол «неизбежно раскололся»? Что вы используете для печати таблицы? – Justin

+0

Что я имею в виду, так это то, что в некоторых строках «Название группы» имеется так много данных, которые они не могут содержать на одной странице. Поэтому, даже если эта строка является первой на странице, она все равно перейдет на дополнительные страницы. – BBC

ответ

0

У меня были аналогичные проблемы в прошлом с печатью HTML.

Я не нашел способ достичь именно того, что вы хотите, но в качестве альтернативного варианта вы можете попробовать стиль css page-break-inside: avoid на каждом теге <tr>, чтобы препятствовать разрыву страниц внутри строки. Таким образом, если строка будет разделяться на две страницы, разрыв страницы должен произойти до строки, что позволит избежать проблемы. Не нарушать строку на страницах может быть даже предпочтительнее?

Ссылка: http://www.w3schools.com/cssref/pr_print_pagebi.asp

NB это было некоторое время, так как я играл с этим, но я вспоминаю старые версии IE не хочет играть в мяч ... вы могли бы необходимо проверить в разных браузерах!

+0

Мои проблемы в том, что некоторые строки настолько велики, что они не могут содержаться на одной странице, поэтому их нужно будет разделить. Хотя я пишу это, чтобы использовать его в IE8 (не мой выбор), я тестирую в FF и Chrome те же результаты. – BBC

+0

Хм, в этом случае я, конечно, не знаю о чистом решении CSS.Если вы знаете размер вашей страницы и область печати (потенциально большой, если я знаю), вы могли бы рассчитать, где ваши разрывы страниц, скорее всего, будут в javascript/jQuery, а затем добавить лишние позиции в столбце группы. Вы можете поместить их в класс css с печатью @media, чтобы они отображались только на принтере, а не на экране. Возможно, проблемное решение! – PulseLab

+0

Я рассмотрю это, но это может быть больше проблем, чем его ценность. Это не «должно», тем больше я пытаюсь успокоить своих домашних пиз. Кажется, что должно быть решение, но после нескольких часов и часов онлайн-поиска я чувствую, что я первый и единственный человек, у которого есть эта проблема. – BBC

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