Como o comprimento de um formulário com layout flexível varia dependendo da quantidade de dados à qual ele é unido, esse tipo de formulário costuma incluir mais de uma página. O uso de subformulários de sobrefluxo anterior e posterior são um modo eficaz de iniciar e finalizar subformulários que se repetem por várias páginas. É possível usar qualquer subformulário configurado para posicionar conteúdo como um sobrefluxo anterior ou posterior. Por exemplo, na amostra de formulário de Pedido de compra, o subformulário detail está configurado para posicionar conteúdo e se repetir para cada item de dados. Quando o formulário é unido aos dados, se a primeira página tiver espaço insuficiente para exibir todas as ocorrências do subformulário detail, uma nova página será adicionada, e os dados continuarão na área de conteúdo seguinte.
Quando os dados continuam dessa forma por várias páginas, talvez seja necessário exibir em cada nova página um texto como “Continuação da página anterior” ou elementos de formatação específicos, como uma linha de cabeçalho de coluna que inclua os rótulos descritivos para cada coluna de dados. O uso de linhas de cabeçalho de coluna em cada página subsequente torna a compreensão do formulário resultante muito mais fácil para os usuários. Para isso, é possível criar um subformulário de sobrefluxo anterior que atuará como a linha de cabeçalho de coluna para cada página adicional. Por exemplo, na amostra de formulário de Pedido de Compra, o subformulário detalhecabeçalho está selecionado como um sobrefluxo anterior. Como resultado, uma cópia do subformulário detailHeader é renderizada na parte superior de cada nova página antes da primeira ocorrência do subformulário detail.
De forma semelhante, é possível incluir informações após a última ocorrência do subformulário repetitivo, na parte inferior de todas as páginas, com exceção da última. Por exemplo, inclua um texto como “Continuação na próxima página” na parte inferior dessas páginas intermediárias. Para fazer isso, crie um subformulário de sobrefluxo posterior para o subformulário repetitivo seguindo o mesmo método de criação de um subformulário de sobrefluxo anterior.
Quando ocorre sobrefluxo de um subformulário para a nova página, o servidor realiza estas operações:
Dispõe o sobrefluxo posterior na página atual.
Dispõe o sobrefluxo anterior na página seguinte.
Continua na nova página o subformulário ampliável e o restante de seus objetos repetitivos.
Um sobrefluxo anterior é um tipo especial de subformulário posicionado, exibido na parte superior da página seguinte sempre que ocorre um sobrefluxo de página.
Sobrefluxos anteriores são semelhantes à linha de cabeçalho em uma tabela padrão. A linha de cabeçalho aparece na parte superior da tabela e contém um rótulo descritivo de cada coluna na tabela. É possível formatar a tabela para que, quando ela for expandida para além de uma página, a linha de cabeçalho seja repetida na parte superior da nova página. Isto torna as informações na tabela mais fáceis de serem compreendidas à medida que o leitor se move de uma página a outra.
Um subformulário líder de sobrefluxo comporta-se de modo semelhante. Ao especificar que um determinado subformulário será o líder de sobrefluxo para um subformulário que se repete, o subformulário líder de sobrefluxo aparecerá uma vez antes do subformulário repetido na parte superior da página atual e cada página subsequente.
O subformulário repetitivo será adicionado quantas vezes forem necessárias ao ser unido a dados. Quando não há mais espaço na primeira página, uma nova página é adicionada e os dados continuam a fluir para a próxima página até que todos os dados sejam consumidos. O subformulário de sobrefluxo anterior aparecerá uma vez na parte superior de cada página.
É possível ver um exemplo de como um subformulário de sobrefluxo anterior é usado no design de formulário de amostra do qual o layout é ajustado para acomodar os dados incluídos com o Designer. A amostra, Purchase Order.xdp, está na pasta Amostras na qual o Designer está instalado no seu sistema. Nesse exemplo, o subformulário chamado detailHeader age como o sobrefluxo anterior para o subformulário repetitivo chamado detail.
Suportes anteriores são subformulários que aparecem antes de um subformulário repetitivo. Se um subformulário irmão for definido logo acima de um subformulário repetitivo e, em seguida, for especificado como um sobrefluxo anterior, significa que ele foi designado como um suporte anterior e como um sobrefluxo anterior.
Um sobrefluxo posterior será exibido na parte inferior da página seguinte sempre que ocorrer um sobrefluxo de página. Use um sobrefluxo posterior para incluir informações que aparecem apenas uma vez depois que todos os dados sejam dispostos.
Suportes posteriores são subformulários que aparecem logo após um subformulário repetitivo. Se um subformulário for definido logo abaixo de um subformulário repetitivo e, em seguida, for especificado como um sobrefluxo posterior, significa que ele foi designado como um suporte posterior e como um sobrefluxo posterior.