Exibir dados na forma de uma tabela
Às vezes é necessário exibir dados na forma de uma tabela com borda. Um exemplo deste tipo de relatório é uma lista de preços. Para criar este tipo de relatório no FastReport, somente é necessário habilitar bordas para os objetos localizados na banda de dados. Vamos demonstrar diversas variações de bordas com um exemplo.
Crie um relatório similar a este:
Coloque os objetos "Texto" lado a lado na banda e diminua a altura da banda.
O primeiro tipo de tabela, e também o mais simples, tem uma borda completa nas células. Para obter isso, habilite todas as linhas da borda (encontradas na propriedade Frame.Typ) para cada objeto:
O próximo tipo de borda desenha somente linhas de células horizontais ou verticais, novamente usando a propriedade Frame.Typ:
Finalmente, para desenhar apenas uma borda externa para a tabela, o relatório precisa ser modificado:
Você pode ver que adicionamos dois objetos "Texto", um na banda de cabeçalho da página e outro na banda de rodapé da página. As linhas de borda apropriadas para os objetos nas bordas da banda de dados foram habilitadas, resultando em um relatório com o seguinte aspecto:
Todos esses exemplos continham bandas que tinham tamanhos fixos. Como é possível exibir uma tabela quando a banda é estendida? Vamos explicar como isso é feito através de um exemplo. Adicione um campo novo (um texto com várias linhas de Bio."Notes") a nosso relatório. Como você já aprendeu, a propriedade "Esticar" deve ser habilitada tanto para este objeto como para a banda no qual o objeto está localizado, para que a altura da banda seja alterada dependendo do tamanho do texto no objeto "Texto". O relatório gerado tem este aspecto::
Isso difere um pouco do que precisamos – a aparência é melhor se as bordas dos objetos vizinhos também são estendidas. O FastReport pode solucionar este problema com facilidade. Configure a propriedade "StretchMode" como smMaxHeight no inspetor de objetos para todos os objetos que devem ser estendidos, e o núcleo do FastReport calculará a altura de banda máxima e "estenderá" objetos que têm Esticar habilitado até a extremidade inferior da banda. Já que bordas de objetos são estendidas juntas com o objeto, a aparência do relatório é alterada: