Pergunta

Eu tenho um relatório com um cabeçalho de grupo e rodapé. Deve haver apenas dois grupos com base nos dados. Eu tenho o rodapé de grupo definido para ter uma quebra de página após ela. Eu não quero que o último grupo para criar uma quebra de página antes do rodapé do relatório (Se eu fiz, eu iria definir o rodapé do relatório para ter uma quebra de página antes dele.). Eu nunca tive este problema com outros autores do relatório.

Exemplo do que no relatório de impressão parece e não o design. O meu relatório tem apenas um cabeçalho de grupo e um rodapé de grupo:

Relatório cabeçalho

Dados

Grupo Set 1 Header detalhe detalhe detalhe Grupo Conjunto de Dados 1 Rodapé

Dados

Grupo Set 2 Header Detalhe Detalhe GroupData Set 2 Rodapé ! Eu não quero isso!

Relatório Rodapé (preso na última página por si só)

Postado em sua placa: http://community.devexpress.com/forums/ t / 78705.aspx

Foi útil?

Solução

Esta determina quando você chegou ao final do relatório e pára o rodapé de grupo de quebrar a página. Assume-se que a propriedade PageBreak do seu rodapé de grupo já está definido para PageBreak.AfterBand.

private void Report_DataSourceRowChanged(object sender, DataSourceRowEventArgs e) {
    if (e.CurrentRow == this.RowCount - 1)
        GroupFooter.PageBreak = PageBreak.None;
}

Como alternativa, você pode definir tanto o seu cabeçalho do grupo e propriedade PageBreak de rodapé para PageBreak.None. Então, quando você estiver imprimindo o primeiro grupo, configurá-lo para quebra de página antes de cada faixa cabeçalho do grupo assim:

private void GroupFooter_BeforePrint(object sender, DataSourceRowEventArgs e) {
    if (GroupHeader.PageBreak == PageBreak.None)
        GroupHeader.PageBreak = PageBreak.BeforeBand;
}

É até você qual método escolher. Pessoalmente eu gosto do 2º um melhor. Mesmo que eu arbitrariamente escolhido o método GroupFooter_BeforePrint para inscrever-se e fazer essa alteração, eu ainda iria se sentir mais confortável fazendo isso de depender de contagens de linha para determinar quando você chegou ao final do relatório.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top