2012-04-05 2 views
1

У меня есть структура отчета, который похож на этотПоказать заголовок страницы в конкретных разделах - Crystal Report

Report Header 
    --Cross Tab 
Page Header 
    --Header 
Group Header1 
    --Cross Tab 
Group Header2 
    --Details 

Я пытаюсь отобразить заголовок страницы только на страницах, где Group2 начала. Я пропустил заголовок страницы только на 1-й странице.

Возможно ли это в отчете о кристалле?

Благодаря

Редактировать

Это, как в настоящее время выглядит отчет как

enter image description here

+0

Итак, вы хотите скрыть заголовок страницы на любых страницах, на которых отображается GH2, или только там, где GH2 работает на второй странице? – Ryan

+0

@ Ryan: Только на страницах, где GH2 отображает –

ответ

0

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

PageNumber=1 
+0

Спасибо за ответ, но я думаю, что вы не правильно прочитали вопрос :) Я уже спрятал его на первой странице. Но мне нужно сделать то же самое для других страниц, которые не содержат ** Group2 ** data –

1

Это только мое чувство кишки, но я не думаю, что это возможно без каких-либо других изменений в отчете. Кристалл не определяет размещение разделов до последнего прохода, который также является последним, вы можете заставить формулы оценивать, но тогда формулы подавления заголовка отчета будут оценивать до любых формул в GH2. Другими словами, до тех пор, пока у вас есть разделы печати с переменным размером на странице, Crystal не может знать, во время печати заголовка страницы, будет ли GH2 отображаться на этой странице или нет.

Единственные решения, о которых я могу думать, - это упреждающее обращение с ним для любого возможного макета страницы. Например, одним из способов является установка GH2 всегда начинаться на новой странице (через «Новая страница до») и выборочно подавлять любые заголовки страниц, которые попадают между GH1 и GH2 (через booleanvar, который установлен «whileprintingrecords», в GH1 и не установлен в GH2). Однако есть, вероятно, и другие, более чистые способы сделать это.

EDIT: В чем мотивация для этого (особенность макета страницы была бы полезна)? Вероятно, есть способ обойти это, что не требует решения этой точной проблемы.

+0

На самом деле заголовок содержит заголовки столбцов для деталей, которые относятся к группе 2. Группа1 содержит отчет ** кросс-таблицы **, и я не хочу, чтобы заголовки столбцов отображались выше кросс-таблицы –

+0

@huMptyduMpty. В этом случае я бы просто вставлял второй GH2b и перемещал детали в этот раздел. Затем переместите заголовки столбцов в GH2a. Существует вероятность того, что заголовки будут отображаться более одного раза на странице, но это не biggie. – Ryan

+0

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

0

Мне нужно было сделать что-то подобное, но потребовалось некоторое время, чтобы Кристалл сделал то, что было желательным.

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

PHa имеет большой заголовок. В разделе эксперт, нажмите на условную Suppress, добавьте следующий код:

Shared numbervar big_header; 
big_header = 0; //suppress if big_header is off 

PHb имеет заголовок в одну строку. В разделе эксперте, нажмите на условном Suppress, добавьте следующий код:

Shared numbervar big_header; 
big_header = 1; //suppress if big_header is on 

Для каждого раздела отчета, создать пару формул (вы не можете использовать их, вы должны сделать новую пару для каждого), один для установки big_header в 1, и один для установки его на 0.

shared numbervar big_header; 
big_header := 1; //turn on big_header 


shared numbervar big_header; 
big_header := 0; //turn off big_header 

Поместите один, который превращает big_header на в противном случае пустой секции подробно (или группа - должно работать, не тестировали), форматировать формулу быть подавлены, форматировать раздел, чтобы иметь новую страницу, прежде если он не является первым в отчете (вкладка пейджинга) и подавляет пустой раздел.

В следующей части (группе), которая должна отображать материал в отчете, поместите формулу, которая выключит big_header. Снова отформатируйте формулу, подлежащую подавлению.

Повторите по необходимости. (Моя формула «turn the big_header on» также устанавливает строку, которая используется в нижнем колонтитуле.)

Надеюсь, это поможет!

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