Tipos de controles

A utilização de alguns controles ou a configuração de certas propriedades pode exigir conhecimentos de programação para a criação de scripts que controlem seu comportamento. Ao editar modelos utilizados ​​no sistema, tenha cuidado para não excluir controles ou editar suas propriedades inadequadamente. Isto poderá causar problemas ao gerar o relatório final.

Os controles a seguir estão disponíveis na janela Tool Box.

 

 Label

O controle Label permite que linhas simples de texto sejam inseridas no relatório, e elas podem ser utilizadas para identificar figuras e tabelas ou para escrever textos que não precisam de formatação (para textos formatados, ver o controle Rich Text adiante). O texto pode ser inserido estaticamente por quem está editando o modelo ou pode ser lido dinamicamente de uma fonte de dados configurada para o relatório (ver figura abaixo).

 

 

 Checkbox

O controle Checkbox cria um checkbox padrão, utilizado para controlar um estado "Verdadeiro/Falso" ou "Marcado/Desmarcado" em um relatório (ver figura abaixo). O comportamento do controle pode ser programado através de scripts (ver propriedade Scripts no grupo Behavior na janela Property Grid).

 

 

 Rich Text

Esse controle é utilizado para cadastrar textos que precisam de formatação. Esses campos podem receber conteúdo estático, digitado manualmente no editor, ou lido dinamicamente de uma fonte de dados. No exemplo da figura abaixo, o texto de um controle Rich Text foi digitado manualmente, editando-se sua propriedade Text na janela Property Grid. Observe que na seção Font, dentro da categoria Appearance, é possível aplicar diversos recursos de formatação no texto (negrito, itálico, sublinhado, etc.), especificar a fonte e o seu tamanho, definir a cor do texto e do fundo, etc.

 

 

Um exemplo de preenchimento automático de um controle Rich Text é mostrado em seguida. O texto de um controle incluído na faixa Detail de um dos modelos de relatório vai exibir automaticamente (quando um relatório é gerado baseado nesse modelo) o valor do campo [RequirementName], que armazena o nome de um requisito analisado em um projeto de riscos em ativos.

 

 

Picture

Esse controle permite incluir imagens no modelo de relatório. Pode ser utilizado, por exemplo, para incluir o logotipo da organização na capa dos relatórios fornecidos pela Módulo. Diferentes formatos de imagens são suportados (BMP, JPEG, GIF ou PNG). Através das propriedades do controle, você pode configurar a aparência da imagem (cor de fundo, borda, largura da borda, etc.), seu comportamento (visível, invisível, scripts associados), a origem dos dados (manual, banco de dados, dimensões, tags, etc.), e o layout (alinhamento, posição, etc.), entre outras características.

 

 

 Panel           

Esse controle exibe um painel, utilizado para organizar outros controles relacionados, tornando-os mais fáceis de gerenciar. A figura abaixo mostra um controle Panel, cuja cor de fundo foi alterada para cinza, que agrupa outros quatro controles (um controle Label e três controles do tipo Checkbox). Na maioria dos casos de uso, o comportamento desses controles deve ser definido por programação.

 

 

Nota: é importante lembrar que quando um controle do tipo Panel é excluído de um modelo de relatório, todos os controles incluídos nele também são excluídos automaticamente.

 

 Table

Esse controle permite inserir uma tabela no modelo de relatório, sendo útil para apresentar dados em formato tabular.

 

 

Na prática, os conteúdos das células do controle Table exibidas nos relatórios são preenchidos automaticamente, por colunas, quando um relatório é gerado. Na figura abaixo, a faixa GroupHeader contém uma tabela cujas células foram preenchidas manualmente com textos que representam o cabeçalho. Uma das células da coluna (Identified Risk (PSR)) será preenchida automaticamente com o valor da coluna [IdentifiedRisk]. Esse campo armazena o PSR total do risco identificado do ativo analisado em um projeto de riscos (ver figura abaixo).

 

 

Quando o relatório é gerado, o valor calculado para a coluna [IdentifiedRisk] é inserido na célula, e a seção é exibida no relatório final. Além disso, as tabelas podem ser configuradas para que os dados exibidos por ela sejam ordenados a partir de uma coluna específica. Essa configuração pode ser feita através da opção Add a Sort, localizada abaixo do modelo de relatório (ver figura abaixo).

 

 

A opção Add a Sort exibe todas as colunas existentes na tabela selecionada e é possível escolher uma delas para ordenar a exibição dos dados.

 

 

A figura a seguir exibe uma tabela onde os riscos identificados nos ativos estão ordenados pela coluna PSR Identificado. Para isso, a coluna [PSRIdentified] foi selecionada na opção Add a Sort.

 

 

Nota 1: para que as colunas da tabela sejam exibidas corretamente na opção Add a Sort, é necessário selecionar no campo Data Member da janela Report Tasks o nome da tabela que foi inserida no modelo de relatório (ver figura abaixo).

 

 

Nota 2: para ordenar uma tabela pelos valores de uma coluna sem que seja necessário vincular uma tabela ao relatório em Report Tasks, você pode utilizar a propriedade Sort Fields. Para isso, clique na seta no canto superior direito da banda em que a tabela se encontra e, no campo Sort Fields, clique em .... Na janela GroupField Collection Editor, clique em Add. Em GroupField Properties, selecione a coluna pela qual a tabela deverá ser ordenada e, em Sort Order, defina a ordem crescente ou decrescente (Ascending ou Descending, respectivamente).

 

 Line

Esse controle permite incluir linhas horizontais, verticais ou diagonais no relatório. A figura abaixo mostra um exemplo de uso do controle Line em um dos modelos de relatório. Observe que o estilo da linha (sólida, pontilhada, etc.) pode ser configurado na janela Property Grid, na propriedade Line Style do grupo Appearance. Várias outras propriedades estão disponíveis, permitindo alterar as configurações de cor, cor de fundo, bordas, direção (horizontal, vertical, inclinada) e largura (ver figura abaixo).

 

 

 Shape

Esse controle permite incluir formas simples no relatório, como círculos, elipses, triângulos e setas. O formato deve ser definido na propriedade Shape, no grupo Behavior, como mostra a figura abaixo.

 

 

 Bar Code

Esse controle permite inserir diferentes tipos de códigos de barra no relatório. Assim como ocorre com os demais controles, depois que o controle Bar Code é incluído em uma faixa, suas propriedades podem ser editadas na janela Property Grid (ver figura abaixo).

 

 

 Zip Code

Esse controle permite incluir um CEP no relatório, composto por números e traços (ver figura abaixo). A informação pode ser inserida manualmente na janela Property Grid, na propriedade Text do grupo Data.

 

 

 Chart

O controle Chart é muito útil, e pode ser utilizado para representar os dados do relatório através de vários tipos de gráfico. Em geral, os dados do gráfico são obtidos dinamicamente através de consultas em tabelas do banco de dados que foram previamente vinculadas ao relatório.

 

 

Quando esse controle é arrastado para a área de edição, é exibido um assistente que permite que você escolha o tipo de gráfico desejado (ver figura abaixo). Há opções de gráficos de barras, de pontos, de linhas, de pizza, entre outros. Alguns desses gráficos estão disponíveis em formato 2D e também 3D. Na seção Construction do assistente, são exibidas as opções para a escolha do tipo de gráfico, aparência, séries de dados a serem apresentadas graficamente e a fonte que vai fornecer os dados para o relatório. Na seção Presentation, são exibidas as opções para a apresentação do gráfico, permitindo a customização de diversas propriedades como cor, cor de fundo, legendas, margens, eixos, painéis, títulos, anotações e outras.

 

 

Em cenários reais de uso, os dados exibidos no gráfico são lidos dinamicamente de alguma fonte de dados configurada para o relatório. Por exemplo, no gráfico de pizza "Distribuição dos objetos por nível de compliance", exibido na figura abaixo, as fontes de dados para a geração do gráfico estão especificadas nas propriedades do grupo Data, na janela Property Grid (ver figura abaixo).

 

 

Depois de inseridos no relatório, os gráficos podem ser editados através da seta exibida no seu canto superior direito ou ao selecionar o gráfico e clicar na janela Property Grid. Para trocar as cores de um gráfico, por exemplo, basta clicar sobre a seta e selecionar a opção Palettes... (ver as figuras abaixo). É possível selecionar outra paleta de cores ou criar uma paleta nova ao clicar no botão Add... e depois adicionar cada uma das cores que devem formar a paleta de cores. Ao clicar na seta e selecionar a opção Run Wizard..., é possível visualizar o assistente de edição do gráfico, onde as propriedades foram definidas durante o seu processo de criação.

 

 

 

 Pivot Grid

Esse controle permite a inserção de tabelas no relatório. Ele oferece funcionalidades importantes como a inclusão de vários tipos de totalização para campos numéricos, contendo uma variedade de estatísticas pré-definidas (soma, média, total, mínimo, máximo, desvio padrão, variância, etc.) (ver figura abaixo).

 

 

Ao usar o controle Pivot Grid, é importante entender o conceito de campo. Campo é um elemento que o usuário consegue manipular na tabela, e é representado visualmente por uma caixa.

Para permitir uma melhor apresentação e organização dos dados inseridos na tabela, os campos incluídos no Pivot Grid podem ser arrastados para uma das quatro diferentes áreas do controle. São elas:

    A área de cabeçalho de uma coluna

    A área de cabeçalho de uma linha

    A área de dados

    A área de cabeçalho de um filtro

Os campos posicionados nessas áreas do Pivot Grid são denominados campos de coluna, campos de linha, campos de dados e campos de filtro, respectivamente.

 

 Page Info

Esse controle permite inserir no relatório informações sobre a página, como a data, numeração das páginas ou informações sobre o usuário (ver figura abaixo).

 

 

 Page Break

Este controle é utilizado para marcar o local do início de uma nova página no relatório. Você também pode usar a propriedade Band.PageBreak para fazer uma quebra de página antes ou após uma determinada faixa (ver figura abaixo).