Добрый день, уважаемые!
  Возник ещё один вопрос. На странице есть ReportTitle и ниже, расположен Cross-tab. Так вот, первая страница печатается как надо, а последующие с пустым пространством, равным значению Top кросс-таба.
  Соответственно, пробовал различные варианты: "игрался" флагами CanGrow, CanShrink и пр., даже добавлял DataBand с непривязанным к нему источником данных (этот вариант работает чуть ли не на порядок медленнее) - ничего не помогает.
  Если поставить у кросс-таба Top в ноль, то всё печатается так как надо, но заголовок при этом разумеется наслаивается (печатается поверх) на кросс-таб.
  Сам отчёт и скрин проблемы в приложении.
			
							Пустое место на странице с кросс-табом
Пустое место на странице с кросс-табом
- Вложения
- 
			
		
		
				- Отчёт о движении товара по месяцам.mrt
- (27.34 КБ) 201 скачивание
 
- 
			
		
				- Clipboard01.jpg (62.3 КБ) 2715 просмотров
 
Пустое место на странице с кросс-табом
Здравствуйте,
К сожалению, но на данный момент, реализовать данную задачу можно только разместив компонент CrossTab на компоненте DataBand.
Спасибо.
			
			
									
									
						К сожалению, но на данный момент, реализовать данную задачу можно только разместив компонент CrossTab на компоненте DataBand.
Спасибо.
Пустое место на странице с кросс-табом
Всё понятно, но дело в том, что разместив CrossTab на DataBand скорость падает почти на порядок.
К примеру, сам select отрабатывает за 10 сек., отчёт рисуется 2 сек., это без DataBand'а. Тот же отчёт с положенным на DataBand кросс-табом рисуется уже 58-59 сек., что почти на порядок больше. А это выборка данных по одному менджеру и за неделю, если взять (что бывает очень часто) выборку за год и по всем менеджерам, то никто из пользователей просто не дождётся пока нарисуется отчёт.
У меня простое видение решения этой задачи - если бы можно было определить, например в событии Rendering, что это вторая страница и выставить Top = 0 у кросс-таба, то проблема решилась бы.
Т.е. типа так (полу-псевдокод):
bool isFirstPagePassed = false; 1)
{
CrossTab.Top = 0;
isFirstPagePassed = true;
}
}
Или может есть какие-нибудь другие варианты?
			
			
									
									
						К примеру, сам select отрабатывает за 10 сек., отчёт рисуется 2 сек., это без DataBand'а. Тот же отчёт с положенным на DataBand кросс-табом рисуется уже 58-59 сек., что почти на порядок больше. А это выборка данных по одному менджеру и за неделю, если взять (что бывает очень часто) выборку за год и по всем менеджерам, то никто из пользователей просто не дождётся пока нарисуется отчёт.
У меня простое видение решения этой задачи - если бы можно было определить, например в событии Rendering, что это вторая страница и выставить Top = 0 у кросс-таба, то проблема решилась бы.
Т.е. типа так (полу-псевдокод):
bool isFirstPagePassed = false; 1)
{
CrossTab.Top = 0;
isFirstPagePassed = true;
}
}
Или может есть какие-нибудь другие варианты?
Пустое место на странице с кросс-табом
Здравствуйте,
Как вариант, в событии "BeforePrint" страницы, вы можете использовать следующий код:
Спасибо. 
			
							Как вариант, в событии "BeforePrint" страницы, вы можете использовать следующий код:
Код: Выделить всё
if (PageNumber > 1)
	CrossTab1.Dock = DockStyle.Top;- Вложения
- 
			
		
		
				- SampleReport.mrt
- (22.24 КБ) 321 скачивание
 
Пустое место на странице с кросс-табом
О, да! То, что надо! :biggrin: 
Именно это я и имел ввиду. Всё заработало.
Благодарю!
			
			
									
									
						Именно это я и имел ввиду. Всё заработало.
Благодарю!
Пустое место на странице с кросс-табом
Здравствуйте,
Всегда рады помочь.
Сообщите, если понадобится дополнительная помощь.
			
			
									
									
						Всегда рады помочь.
Сообщите, если понадобится дополнительная помощь.