Adicionar controlos de dados repetidos
Aplica-se A
Adicionar controlos que recolhem uma informação de um utilizador ou que apresentam uma informação a um utilizador é fácil, mas por vezes não é suficiente. Por vezes, poderá ter de recolher vários pontos de dados, como uma lista de itens para um relatório de despesas ou apresentar vários pontos de dados, como uma lista de utilizadores. Embora possa adicionar vários controlos ou até mesmo uma lista de controlos ao formulário e esperar que tenha adicionado o suficiente, esta não é a forma mais eficiente de estruturar um formulário. Para acomodar situações como esta, Microsoft InfoPath 2010 tem vários controlos que lhe permitem capturar ou apresentar dados repetidos, como tabelas de bases de dados ou listas de comprimentos variados.
Neste artigo
Acerca da Repetição de Controlos de Dados
Secção de Repetição
Os controlos de secção de repetição contêm outros controlos, como um controlo de secção normal, mas permitem-lhe inserir o número de secções necessário. Por exemplo, imagine um formulário de aplicação de seguro em que os utilizadores têm de listar os nomes e as idades dos seus dependentes. Pode estruturar este tipo de formulário como um formulário de papel, com três campos de marcador de posição, que pressupõe que a maioria das pessoas não tem mais do que três dependentes. No entanto, se alguém tiver mais de três, não terá espaço para adicionar dependentes adicionais. Ao utilizar um controlo de secção de repetição, os utilizadores podem adicionar o número de campos necessários para listar os dependentes.
Apenas um contentor vazio será inserido depois de inserir um controlo de secção de repetição num modelo de formulário. Para que o controlo de secção de repetição seja útil, tem de inserir controlos adicionais dentro do controlo de secção de repetição, como campos de tabela ou texto.
Quando os utilizadores movem o ponteiro sobre a secção de repetição, é apresentado um botão azul com uma seta no canto superior esquerdo. Este é o botão de menu de atalho. Os utilizadores podem clicar neste botão para ver as opções para inserir ou remover a secção de repetição.
Utilize uma secção de repetição quando quiser:
- Recolha várias instâncias do mesmo tipo de dados, como no caso de adicionar dependentes a uma aplicação de seguro.
- Apresentar quantidades variáveis de dados num formulário, como apresentar registos de funcionários de uma base de dados e apresentar 1 registo se apenas 1 for devolvido ou 10 se forem devolvidos 10.
- Evite áreas de marcador de posição vazias que ocupam espaço crítico no modelo de formulário.
Tabela de Repetição
Embora as secções de repetição lhe permitam adicionar e esquematize controlos como faria numa secção normal, por vezes é necessário um formato tabular. Adicione uma tabela de repetição para apresentar dados numa tabela, como a partir de uma base de dados, ou para permitir que os utilizadores adicionem linhas e introduzam dados tabulares adicionais.
Uma tabela de repetição consiste em três partes, a linha de cabeçalho, uma ou mais linhas de dados e a linha do rodapé. Normalmente, a linha de cabeçalho é utilizada para cabeçalhos de coluna e a linha de rodapé pode ser utilizada para inserir caixas de texto ou caixas de expressão que somam valores das linhas de dados. As linhas de dados repetem-se, quantas vezes forem necessárias, para acomodar os dados que são preenchidos na tabela, quer dinamicamente quer como resultado da introdução de dados na tabela por parte de um utilizador. Existe apenas uma linha de cabeçalho e rodapé e, por predefinição, apenas a linha de cabeçalho e uma linha de dados estão visíveis.
Utilize uma tabela de repetição quando quiser:
- Permitir que os utilizadores introduzam dados num formato estruturado e tabular.
- Recolha itens de linha, dados numéricos e outros tipos de dados que são apresentados melhor numa tabela.
- Conserve espaço no modelo de formulário ao apresentar apenas tantas linhas como contêm dados reais.
- Apresentar ou trabalhar com registos de uma base de dados, serviço Web ou outra origem de dados numa tabela no modelo de formulário.
Secção Recursiva de Repetição
Uma secção recursiva repetida contém outros controlos, pode ser inserida dentro de si e está vinculada (enlace: para ligar um controlo a um campo ou grupo na origem de dados para que os dados introduzidos no controlo sejam guardados. Quando um controlo é desvinculado, não está ligado a um campo ou grupo, pelo que os dados introduzidos no controlo não serão guardados.) a grupos de referência aninhados (grupo de referência: um grupo associado a outro grupo para que as respetivas propriedades e propriedades dos grupos e campos que contêm correspondam sempre. Se as propriedades de um grupo forem alteradas, o outro grupo é atualizado automaticamente.). Pode utilizar secções recursivas repetidas para criar conteúdo hierárquico, como um destaque.
Tabela de Repetição Horizontal
Uma tabela de repetição horizontal é uma secção de repetição com uma tabela no interior que contém o número indicado de linhas que se repete horizontalmente e uma tabela que contém cabeçalhos de linha para o lado. Estes componentes individuais foram agrupados numa coleção pré-configurada que pode conter ou recolher dados tabulares que, à medida que são adicionados mais dados, se expandem ao adicionar colunas em vez de linhas. Por exemplo, pode utilizar uma tabela de repetição horizontal para recolher dados de vendas para cada trimestre. Se o modelo de formulário estiver ligado a uma base de dados, também pode utilizar uma tabela de repetição horizontal para apresentar ou trabalhar com registos dessa base de dados.
Uma tabela de repetição horizontal consiste em duas partes, a coluna de cabeçalho que aparece por predefinição e uma coluna de dados que se repete, conforme necessário para acomodar os dados que são preenchidos na tabela, quer dinamicamente quer como resultado da introdução de dados na tabela por parte de um utilizador.
Utilize uma tabela de repetição horizontal quando quiser:
- Permitir que os utilizadores introduzam dados num formato estruturado e tabular.
- Recolher dados de um utilizador que é melhor apresentado numa tabela.
- Conserve espaço no seu modelo de formulário ao apresentar apenas tantas colunas como contêm dados reais.
- Apresentar ou trabalhar com registos de uma base de dados, serviço Web ou outra origem de dados numa tabela no modelo de formulário.
Forma Mestre/Detalhe
Se espera que os utilizadores trabalhem com grandes quantidades de dados no seu formulário( por exemplo, com múltiplos registos numa base de dados), pode utilizar um controlo principal/detalhado para facilitar a gestão desses dados. Quando um utilizador seleciona um item num controlo principal, as informações relacionadas sobre esse item são apresentadas num controlo de detalhes.
Por exemplo, pode utilizar um controlo mestre/detalhe ao estruturar um formulário de recursos humanos que está ligado a uma base de dados de registos de funcionários. O controlo principal pode apresentar o nome do funcionário e o cargo e o controlo de detalhes pode apresentar a localização do funcionário, a data de contratação, a data de nascimento, etc. Em termos de base de dados, este é o equivalente a uma relação um-para-um.
Da mesma forma, pode utilizar o controlo principal para apresentar um conjunto de registos (por exemplo, nomes de clientes) e o controlo de detalhes para apresentar registos relacionados (por exemplo, encomendas de clientes). Em termos de base de dados, este é o equivalente a uma relação um-para-muitos.
A relação mestre/detalhe
Um controlo mestre/detalhe é, na verdade, um conjunto de dois controlos relacionados. Um destes controlos é o controlo principal designado; o outro é o controlo de detalhes designado. O controlo principal é sempre uma tabela de repetição. O controlo de detalhes pode ser uma tabela de repetição ou uma secção de repetição. Pode criar a relação mestre/detalhe ao inserir os controlos de repetição adequados no formulário e, em seguida, alterar as propriedades de cada controlo. Em alternativa, pode inserir um controlo mestre/detalhe predefinido a partir da secção Contentores no painel de tarefas Controlos.
Quando insere um controlo mestre/detalhe a partir do painel de tarefas Controlos, o Microsoft Office InfoPath 2010 estabelece uma relação um-para-um entre o controlo principal e o controlo de detalhes. Isto significa que cada linha selecionada no controlo principal tem apenas um único resultado correspondente no controlo de detalhes. Numa relação um-para-um típica, os controlos mestre e detalhe estão vinculados ao mesmo grupo de repetição na origem de dados.
Se preferir, pode especificar campos chave na origem de dados que contêm dados relacionados para estabelecer uma relação um-para-muitos para um controlo mestre/detalhe. Neste tipo de relação, cada seleção no controlo principal pode resultar em múltiplas correspondências no controlo de detalhes. Por exemplo, se os utilizadores selecionarem um registo de fornecedor num controlo principal, podem ver os produtos associados a esse fornecedor no controlo de detalhes. Numa relação um-para-muitos típica, os controlos mestre e detalhe estão vinculados a grupos de repetição separados na origem de dados
Para estabelecer uma relação um-para-muitos, tem de utilizar opções no separador Mestre/Detalhe na caixa de diálogo Propriedades de cada controlo para especificar os campos de chave adequados.
Um controlo mestre/detalhe é, na verdade, um conjunto de dois controlos relacionados. Um controlo é o controlo principal designado e o outro é o controlo de detalhes. O controlo principal é sempre uma tabela de repetição. O controlo de detalhes pode ser uma tabela de repetição ou uma secção de repetição.
Utilize um controlo mestre/detalhe quando quiser:
- Permita que os utilizadores que estão a preencher formulários baseados no seu modelo de formulário funcionem de forma mais eficiente com grandes quantidades de dados.
- Apresentar o equivalente a uma relação um-para-um. Por exemplo, pode utilizar um controlo mestre/detalhe quando cria um modelo de formulário de recursos humanos que está ligado a uma base de dados de registos de funcionários. O controlo principal pode apresentar o nome e o cargo de um funcionário e o controlo de detalhes pode apresentar a localização, a data de contratação e a data de nascimento de um funcionário.
- Apresentar o equivalente a uma relação um-para-muitos. Por exemplo, pode utilizar o controlo principal para apresentar um conjunto de registos (por exemplo, nomes de clientes) e o controlo de detalhes para apresentar registos relacionados (por exemplo, encomendas de clientes).
O InfoPath fornece um controlo mestre/detalhe predefinido que pode inserir com o painel de tarefas Controlos. Também pode criar um controlo mestre/detalhe ao inserir uma tabela de repetição e secção de repetição (ou duas tabelas de repetição) e, em seguida, alterar as propriedades de cada controlo.
Se o modelo de formulário se destinar principalmente à visualização no ecrã, considere colocar o controlo de detalhes dentro de um controlo Região de Deslocamento no modelo de formulário. Dessa forma, se houver uma grande quantidade de dados apresentados no controlo, os seus utilizadores podem percorrer os dados. Tenha em atenção que esta não é a melhor opção se achar que os utilizadores vão querer imprimir os respetivos formulários, uma vez que quaisquer dados que estejam ocultos na região de deslocamento no ecrã também não serão visíveis no formulário impresso.
Grupo de Escolha de Repetição
Pode inserir um grupo de escolha de repetição no seu formulário para que os utilizadores possam adicionar vários grupos de escolha (grupo de escolha: um controlo que é utilizado para apresentar um conjunto de escolhas mutuamente exclusivas. Por predefinição, um grupo de escolha contém duas secções de escolha, uma das quais aparece para o utilizador como a escolha predefinida no formulário.) ao preenchê-lo.
Quando os utilizadores movem o ponteiro do rato sobre a opção predefinida no formulário, é apresentado um botão de menu de atalho no canto superior esquerdo do grupo de escolha de repetição. Os utilizadores podem clicar neste botão para ver opções para inserir, remover ou substituir opções.
Por exemplo, num formulário de viagem, pode utilizar um grupo de escolha de repetição para permitir que os utilizadores introduzam informações sobre as suas viagens de negócios. Para cada segmento de transporte, os utilizadores podem selecionar uma de três opções: voo, carro ou comboio. Cada escolha apresenta um conjunto diferente de campos.
Inserir Controlos de Dados Repetidos
Inserir uma secção recursiva repetida
Nota
Só pode inserir um controlo Secção Recursiva de Repetição num formulário criado com o modelo de formulário Formulário em Branco (Preenchimento do InfoPath) ou que tenha a Compatibilidade definida como Formulário de Preenchimento do InfoPath na caixa de diálogo Opções de Formulário .
Inserir uma secção recursiva repetida (criar automaticamente a origem de dados)
Se optar por fazer com que o Microsoft Office InfoPath 2010 crie a origem de dados quando insere uma secção recursiva repetida, o InfoPath cria um grupo de repetição que contém uma referência para si próprio.
Coloque o ponto de inserção onde pretende inserir a secção recursiva de repetição.
Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base.
No painel de tarefas Controlos , selecione a caixa de verificação Criar origem de dados automaticamente .
Nota
Se a caixa de verificação não estiver disponível, a estrutura do formulário não permite que a origem de dados seja criada automaticamente. Tem de inserir uma secção recursiva repetida que esteja vinculada a um grupo de repetição existente ou a um grupo que criar.
Em Controlos de contentores , clique em Repetir Secção Recursiva.
Para adicionar um controlo à secção, arraste um controlo do painel de tarefas Controlos para a secção.
Nota
Não deve mover um controlo que já se encontra no formulário para esta secção, a menos que o campo do controlo já faça parte do grupo da secção.
Inserir uma secção recursiva repetida (vincular a um grupo de repetição existente)
Coloque o ponto de inserção onde pretende inserir a secção recursiva de repetição.
Se o painel de tarefas Campos não estiver visível, clique em Mostrar Campos na secção Dados do Formulário no separador Dados .
No painel de tarefas Campos , clique com o botão direito do rato no grupo ao qual pretende vincular a secção recursiva repetida.
Clique em Repetir Secção Recursiva.
Nota
O grupo tem de se repetir e tem de conter uma referência a si próprio. Para criar um grupo deste tipo, clique com o botão direito do rato num grupo de repetição no painel de tarefas Campos , clique em Referência e, em seguida, referencie o próprio grupo (o grupo em que clicou com o botão direito do rato).
Sugestão
Também pode inserir uma secção recursiva de repetição vinculada a um grupo existente através do painel de tarefas Controlos , desde que a caixa de verificação Criar automaticamente a origem de dados esteja desmarcada.
Inserir um Grupo de Escolha de Repetição
Inserir um grupo de escolha de repetição (criar automaticamente a origem de dados)
Pode fazer com que o Microsoft Office InfoPath 2010 crie automaticamente a origem de dados quando insere grupos de escolha repetidos (bem como outros controlos). Se o fizer, o InfoPath cria grupos vinculados às secções de escolha dentro do grupo de escolha de repetição. Além disso, o InfoPath cria um grupo "virtual" vinculado ao grupo de escolha de repetição. O nome de um grupo virtual é seguido por (escolha) no painel de tarefas Campos.
Nota
Só pode inserir um controlo Grupo de Escolha de Repetição num formulário criado com o modelo de formulário Formulário em Branco (InfoPath Filler) ou que tenha Compatibilidade definida como Formulário de Preenchimento do InfoPath na caixa de diálogo Opções de Formulário.
Coloque o ponto de inserção onde pretende inserir o grupo de escolha de repetição.
Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
No painel de tarefas Controlos , selecione a caixa de verificação Criar origem de dados automaticamente .
Em Contentores, clique em Grupo de Escolha de Repetição.
É apresentado um grupo de escolha de repetição que contém duas secções de escolha no formulário.Para adicionar controlos às secções de escolha dentro do grupo de escolha de repetição, efetue um dos seguintes procedimentos:
- Para adicionar controlos à secção de escolha predefinida, arraste o controlo que pretende do painel de tarefas Controlos para a secção de escolha com o nome Secção Escolha (predefinição).
- Para adicionar controlos à secção de escolha alternativa, arraste o controlo que pretende do painel de tarefas Controlos para a secção de escolha com o nome Secção Escolha.
Para testar a secção, no separador Base , clique em Pré-visualizar.
Para oferecer mais do que duas opções aos utilizadores, pode inserir secções de escolha adicionais dentro do grupo de escolha de repetição. Para tal, coloque o ponto de inserção dentro do grupo de escolha de repetição e, em seguida, clique em Secção Escolha em Contentores no painel de tarefas Controlos .
Inserir um grupo de escolha de repetição (vincular a um grupo existente)
Coloque o ponto de inserção onde pretende inserir o grupo de escolha de repetição.
Se o painel de tarefas Campos não estiver visível, clique em Mostrar Campos na secção Dados do Formulário no separador Dados .
No painel de tarefas Campos , clique com o botão direito do rato no grupo ao qual pretende vincular o grupo de escolha de repetição e, em seguida, clique em Grupo de Escolha de Repetição.
Nota
Se o Grupo de Escolha repetida não estiver disponível, o grupo ao qual está a tentar vincular poderá não suportar este tipo de controlo. Os grupos de escolha de repetição só podem ser vinculados a grupos virtuais repetidos. Na origem de dados, os grupos virtuais são apresentados como (escolha).
Para testar a secção, no separador Base , clique em Pré-visualizar.
Sugestão
Também pode inserir um grupo de escolha de repetição vinculado a um grupo existente através do painel de tarefas Controlos , desde que a caixa de verificação Criar automaticamente a origem de dados esteja desmarcada.
Inserir uma tabela de repetição
Coloque o cursor onde pretende inserir o controlo.
Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
Em Contentores, clique em Tabela de Repetição.
Se estiver a inserir a tabela de repetição num novo modelo de formulário em branco, então:
- Na caixa Número de colunas , introduza o número de colunas que a tabela deve ter e, em seguida, clique em OK.
- A tabela de repetição é criada com uma caixa de texto em cada coluna. Para converter uma caixa de texto num tipo de controlo diferente, clique com o botão direito do rato na caixa de texto, aponte para Alterar Controlo e, em seguida, clique no controlo pretendido.
Se estiver a inserir a tabela de repetição num modelo de formulário baseado numa origem de dados existente:
- Na primeira página do Assistente de Enlace de Tabelas Repetidas, clique na origem de dados que pretende utilizar na lista Origem de dados e, em seguida, clique no grupo de repetição
ao qual pretende vincular as linhas da tabela.
Para criar um novo grupo de repetição, clique com o botão direito do rato no grupo ao qual pretende adicionar o grupo de repetição, clique em Adicionar no menu de atalho e, em seguida, na caixa de diálogo Adicionar Campo ou Grupo , especifique as propriedades do grupo de repetição. - Clique em Seguinte.
- Na segunda página do Assistente de Enlace de Tabela de Repetição , faça duplo clique nos campos na lista Enlace de dados que pretende adicionar como colunas à tabela.
Para criar um novo campo na lista Enlace de dados, clique com o botão direito do rato no grupo ao qual a tabela de repetição está vinculada, clique em Adicionar e, em seguida, na caixa de diálogo Adicionar Campo ou Grupo , especifique as propriedades do campo. - Para reordenar as colunas, selecione uma coluna na lista Colunas na tabela e, em seguida, clique em Mover Para Cima ou Mover Para Baixo.
- Na primeira página do Assistente de Enlace de Tabelas Repetidas, clique na origem de dados que pretende utilizar na lista Origem de dados e, em seguida, clique no grupo de repetição
Inserir uma secção de repetição
No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
Em Contentores, clique em Secção de Repetição.
Se estiver a inserir uma secção de repetição num novo modelo de formulário em branco:
Para adicionar controlos à secção de repetição, arraste os controlos que pretende do painel de tarefas Controlos para a secção de repetição no modelo de formulário.
Nota
Não deve mover um controlo que já se encontra no modelo de formulário para a secção, a menos que o campo do controlo já faça parte do grupo da secção na origem de dados. Caso contrário, o enlace do controlo poderá quebrar.
Para adicionar uma etiqueta ao controlo, escreva texto acima do mesmo.
Se estiver a inserir uma secção de repetição num modelo de formulário baseado numa origem de dados existente:
- Na caixa de diálogo Enlace de Secção de Repetição , selecione o grupo de repetição no qual pretende armazenar os dados da secção de repetição e, em seguida, clique em OK.
- Adicione controlos à secção de repetição e, em seguida, vinculte-os aos campos adequados na origem de dados.
- O InfoPath utiliza o nome do campo ou grupo como etiqueta do controlo. Se necessário, altere o texto da etiqueta.
Também pode utilizar o painel de tarefas Campos para inserir controlos. No painel de tarefas Campos , clique com o botão direito do rato no grupo de repetição ao qual pretende vincular a secção de repetição e, em seguida, clique em Secção de Repetição.
Inserir um controlo Mestre/Detalhe
Nota
Só pode inserir um controlo Master/Detail num formulário que tenha sido criado com o modelo de formulário Formulário em Branco (InfoPath Filler) ou que tenha a Compatibilidade definida como Formulário de Preenchimento do InfoPath na caixa de diálogo Opções do Formulário .
Inserir um controlo mestre/detalhe num novo modelo de formulário em branco
O InfoPath fornece um controlo mestre/detalhe predefinido que pode inserir com o painel de tarefas Controlos. Também pode criar um controlo mestre/detalhe ao inserir uma tabela de repetição e uma secção de repetição (ou duas tabelas de repetição) e, em seguida, alterar as propriedades de cada controlo.
Ao criar um novo formulário em branco, a caixa de verificação Criar automaticamente origem de dados no painel de tarefas dos Controlos está selecionada por predefinição. Esta ação permite ao InfoPath criar automaticamente campos e grupos na origem de dados, à medida que adiciona controlos ao modelo de formulário. Estes campos e grupos está representados por ícones de pastas e ficheiros no painel de tarefas da Origem de Dados.
- No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
- Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
- Em Contentores, clique em Mestre/Detalhe.
- Na caixa Número de colunas na caixa mestra na caixa de diálogo Inserir Mestre/Detalhe , introduza o número de colunas para o controlo principal.
- Na caixa Número de campos em detalhe , introduza o número de campos para o controlo de detalhes e, em seguida, clique em OK.
São inseridos dois controlos no modelo de formulário : Tabela de Repetição (mestra) e Secção de Repetição (detalhe). - Para testar a relação mestre/detalhe, no separador Base , clique em Pré-visualizar e, em seguida, introduza dados no controlo principal. Os dados relacionados devem aparecer no controlo de detalhes. Além disso, clique em linhas diferentes no controlo principal para confirmar que os dados correspondentes são apresentados no controlo de detalhes.
Inserir um controlo mestre/detalhe num modelo de formulário baseado numa origem de dados existente
Se criar o seu modelo de formulário com base numa Linguagem XML (Extensible Markup Language), base de dados ou serviço Web, o InfoPath deriva os campos e grupos presentes no painel de tarefas da Origem de Dados a partir da origem de dados existente. Neste cenário, pode inserir um controlo mestre/detalhe a partir do painel de tarefas Controlos, conforme descrito no procedimento seguinte.
Os controlos principais e detalhados podem ser vinculados ao mesmo grupo de repetição ou a diferentes grupos de repetição, consoante as suas necessidades. Os controlos que aparecem dentro de um controlo mestre/detalhe estão vinculados a campos que fazem parte de um grupo de repetição.
- No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
- Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
- Em Contentores, clique em Tabela de Repetição.
- Na primeira página do Assistente de Enlace de Tabela de Repetição , clique no grupo de repetição ao qual pretende vincular as linhas da tabela e, em seguida, clique em Seguinte. Se a sua tabela tiver apenas uma coluna, pode selecionar um campo de repetição em vez de um grupo de repetição.
Para criar um novo grupo de repetição para vincular a tabela, clique com o botão direito do rato no grupo ao qual pretende adicionar o grupo de repetição, clique em Adicionar e, em seguida, na caixa de diálogo Adicionar Campo ou Grupo , introduza as propriedades do grupo de repetição. - Para adicionar as colunas que pretende incluir na tabela, faça duplo clique nos campos na lista Enlace de dados .
Para criar um novo campo para adicionar como uma coluna, clique com o botão direito do rato no grupo ao qual a tabela está vinculada, clique em Adicionar no menu de atalho e, em seguida, na caixa de diálogo Adicionar Campo ou Grupo, introduza as propriedades do campo. - Para reorganizar as colunas, clique numa coluna na lista Colunas na tabela, clique em Mover Para Cima ou Mover Para Baixo e, em seguida, clique em Concluir.
- Faça duplo clique na etiqueta Tabela de Repetição por baixo da tabela no modelo de formulário.
- No separador Propriedades das Ferramentas de Controlo do friso, clique no Modelo Global/Detalhe.
- Clique em Definir como mestre, escreva o identificador ViewContext do controlo principal na caixa ID principal e, em seguida, clique em OK.
Para ver o identificador ViewContext de um controlo, clique com o botão direito do rato no controlo, clique em <Propriedades do Tipo> de Controlo e, em seguida, clique no separador Avançadas . O identificador ViewContext está visível na secção Código do separador. Pode realçar o valor junto à etiqueta ViewContext: e, em seguida, premir CTRL+C para copiar o valor para a área de transferência. Normalmente, ao configurar um controlo mestre/detalhe, o controlo principal é a própria tabela de repetição, pelo que utilizaria o identificador ViewContext da tabela de repetição que está a configurar neste passo. - Coloque o cursor no modelo de formulário onde pretende inserir a secção de repetição (o controlo de detalhes).
- Em Contentores , no painel de tarefas Controlos , clique em Secção de Repetição.
Em alternativa, pode utilizar outra tabela de repetição como controlo de detalhes. - Na primeira página do assistente Enlace de Secção de Repetição , clique no grupo de repetição ao qual pretende vincular a secção e, em seguida, clique em OK.
- Faça duplo clique na etiqueta Secção de Repetição que aparece abaixo da secção no modelo de formulário.
- No separador Propriedades das Ferramentas de Controlo do friso, clique em Mestre/Detalhe.
- Clique em Definir como detalhe e, em seguida, clique no nome do controlo principal na lista Ligar ao ID principal . O nome que selecionar deve corresponder ao identificador ViewContext do controlo que especificou no passo 9.
- Para alterar a relação um-para-um predefinida do controlo principal/detalhe para uma relação um-para-muitos, clique em Por campo chave em Relação mestre/detalhe e, em seguida, clique em Selecionar XPath
junto às caixas Campo de chave (principal) e Campo de chave (detalhe) para especificar os campos chave da origem de dados que contêm os dados relacionados adequados para criar uma relação um-para-muitos. - Para testar a relação mestre/detalhe, no separador Base , clique em Pré-visualizar e, em seguida, introduza dados no controlo principal. Os dados relacionados devem aparecer no controlo de detalhes. Além disso, clique em linhas diferentes no controlo principal para confirmar que os dados correspondentes são apresentados no controlo de detalhes.
Também pode utilizar o painel de tarefas Campos para inserir controlos mestre/detalhe. Para criar o controlo principal, no painel de tarefas Campos , clique com o botão direito do rato no grupo de repetição ao qual pretende vincular o controlo principal e, em seguida, clique em Repetir Tabela. Siga os mesmos passos gerais para criar o controlo de detalhes.
Alterar a relação principal/detalhe predefinida
Quando insere um controlo mestre/detalhe no modelo de formulário através do painel de tarefas Controlos , o InfoPath estabelece uma relação um-para-um entre o controlo principal e o controlo de detalhes. Uma relação um-para-um significa que, para cada seleção no controlo principal, é apresentado um único resultado correspondente no controlo de detalhes.
Pode alterar a relação mestre/detalhe da relação um-para-um predefinida para uma relação um-para-muitos. Uma relação um-para-muitos significa que, para cada seleção no controlo principal, podem aparecer múltiplos resultados correspondentes no controlo de detalhes.
Quando insere um controlo mestre/detalhe no seu modelo de formulário, o InfoPath insere uma tabela de repetição e uma secção de repetição por predefinição. Ambos os controlos estão vinculados ao mesmo grupo de repetição na origem de dados. Por predefinição, ambos os controlos contêm outros controlos vinculados a campos nesse grupo de repetição. No entanto, numa relação um-para-muitos, os controlos mestre e de detalhe estão normalmente vinculados a grupos de repetição separados.
Se inseriu um controlo mestre/detalhe no seu modelo de formulário a partir do painel de tarefas Controlos e pretende estabelecer uma relação um-para-muitos em vez de uma relação um-para-um, pode eliminar o controlo de detalhes que o InfoPath cria. Em seguida, pode criar um novo controlo de detalhes que melhor se adeque às suas necessidades, conforme descrito no seguinte procedimento:
Selecione a secção de repetição designada como controlo de detalhes e, em seguida, prima DELETE.
Insira uma nova secção de repetição no modelo de formulário:
- No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
- Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
- No painel de tarefas Controlos , selecione a caixa de verificação Criar origem de dados automaticamente .
- Em Inserir controlos, clique em Secção de Repetição.
Insira os controlos que pretende na secção de repetição:
- No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
- Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
- No painel de tarefas Controlos , selecione a caixa de verificação Criar origem de dados automaticamente .
- Em Inserir controlos, clique no controlo que pretende inserir.
- Repita os passos 1 a 4 para cada controlo que pretende inserir.
Faça duplo clique no separador da secção de repetição no modelo de formulário.
Clique no Modelo Global/Detalhe no separador Propriedades das Ferramentas de Controlo do friso.
Em Definições de mestre/detalhe, clique em Definir como detalhe.
Na lista Ligar ao ID principal, clique no identificador ViewContext do controlo principal.
Para ver o identificador ViewContext de um controlo, clique com o botão direito do rato no controlo, clique em <Propriedades do Tipo> de Controlo e, em seguida, clique no separador Avançadas . O identificador ViewContext está visível na secção Código do separador. Pode realçar o valor junto à etiqueta ViewContext: e, em seguida, premir CTRL+C para copiar o valor para a área de transferência.Em Relação mestre/detalhe, clique em Por campo de chave.
Clique em Selecionar XPath
junto à caixa Campo de chave (principal) e, em seguida, na caixa de diálogo Selecionar um Campo ou Grupo , clique no campo de chave do controlo principal e, em seguida, clique em OK.Clique em Selecionar XPath
junto à caixa Campo de chave (detalhe) e, em seguida, na caixa de diálogo Selecionar um Campo ou Grupo , clique no campo de chave do controlo de detalhes e, em seguida, clique em OK.
Se quiser criar uma relação um-para-muitos quando criar inicialmente um controlo mestre/detalhe, considere criar manualmente o seu próprio controlo mestre/detalhe em vez de utilizar o controlo mestre/detalhe predefinido que está disponível no painel de tarefas Controlos . Pode criar o seu próprio controlo ao estabelecer uma relação mestre/detalhe entre uma tabela de repetição e uma secção de repetição ou entre duas tabelas de repetição num modelo de formulário. Para tal, abra a caixa de diálogo Propriedades para cada controlo e, em seguida, designe um controlo como o controlo principal e o outro como o controlo de detalhes. Ao modificar as propriedades do controlo de detalhes, pode configurar uma relação um-para-muitos através da utilização de campos de chave.
Inserir uma tabela de repetição horizontal
Nota
Só pode inserir um controlo Tabela de Repetição Horizontal num formulário criado com o modelo de formulário Formulário em Branco (InfoPath Filler) ou que tenha Compatibilidade definida como Formulário de Preenchimento do InfoPath na caixa de diálogo Opções de Formulário .
No modelo de formulário, coloque o cursor onde pretende inserir o controlo.
Se o painel de tarefas Controlos não estiver visível, clique no botão Painel de Controlos no canto inferior direito da secção Controlos no separador Base .
Em Contentores, clique em Tabela de Repetição Horizontal.
Se estiver a inserir uma tabela de repetição horizontal num novo modelo de formulário em branco:
- Na caixa Número de linhas , introduza o número de linhas que pretende que a tabela tenha por predefinição.
- A tabela de repetição horizontal é criada com uma caixa de texto em cada linha na coluna de dados. Para converter uma caixa de texto num tipo de controlo diferente, clique com o botão direito do rato na caixa de texto que pretende converter, aponte para Alterar Controlo e, em seguida, clique no controlo pretendido.
Se estiver a inserir uma tabela de repetição horizontal num modelo de formulário baseado numa origem de dados existente:
- Na primeira página do Assistente de Enlace de Tabelas Repetidas, clique na origem de dados que pretende utilizar na lista Origem de dados e, em seguida, clique no grupo de repetição
ao qual pretende vincular as linhas da tabela.
Para criar um novo grupo de repetição, clique com o botão direito do rato no grupo ao qual pretende adicionar o grupo de repetição, clique em Adicionar e, em seguida, na caixa de diálogo Adicionar Campo ou Grupo , especifique as propriedades do grupo de repetição. - Clique em Seguinte.
- Na segunda página do Assistente de Enlace de Tabela de Repetição , faça duplo clique nos campos na lista Enlace de dados que pretende adicionar como colunas à tabela.
Para criar um novo campo, na lista Enlace de dados , clique com o botão direito do rato no grupo ao qual a tabela de repetição horizontal está vinculada, clique em Adicionar e, em seguida, especifique as propriedades do campo na caixa de diálogo Adicionar Campo ou Grupo . - Para reordenar as colunas, selecione uma coluna na lista Linhas na tabela e, em seguida, clique em Mover Antes ou Mover Depois.
- Clique em Concluir.
- Na primeira página do Assistente de Enlace de Tabelas Repetidas, clique na origem de dados que pretende utilizar na lista Origem de dados e, em seguida, clique no grupo de repetição
Sugestões de esquema para repetir controlos de dados
Utilize as seguintes sugestões para o ajudar a refinar o aspeto, o tamanho e outros aspetos dos controlos dentro de um controlo de dados repetido:
- Para alterar o tamanho de vários controlos dentro de um controlo de dados repetido de uma só vez, mantenha premida a tecla CTRL, selecione as caixas de texto cujo tamanho pretende alterar e, em seguida, faça os ajustes necessários na secção Tamanho do Controlo no separador Propriedades das Ferramentas de Controlo do friso.
- Para alterar o limite ou a cor dos controlos dentro de um controlo de dados repetido de uma só vez, mantenha premida a tecla CTRL e selecione as caixas de texto que pretende alterar. Clique no separador Propriedades das Ferramentas de Controlo no friso , clique em Limites ou Sombreado na secção Cor do separador e, em seguida, faça os ajustes necessários.
- Para personalizar o texto que aparece numa caixa de texto dentro de um controlo de dados repetido, utilize as caixas Tipo de Letra e Tamanho do Tipo de Letra na secção Formatar Texto no separador Base do friso. Em alternativa, pode utilizar a secção Estilos de Tipo de Letra no separador Base do friso
Sugestões de esquema de secção de repetição
Utilize as seguintes sugestões para o ajudar a refinar o aspeto, o tamanho e outros aspetos dos controlos dentro de um controlo Secção de Repetição :
- Ocasionalmente, o texto dentro dos controlos numa secção de repetição e as etiquetas à esquerda desses controlos podem parecer estar ligeiramente desalinhados. Para os realinhar rapidamente, clique com o botão direito do rato no controlo, clique em <Propriedades do Tipo> de Controlo, clique em Alinhar no separador Tamanho e, em seguida, clique em Aplicar. Se a etiqueta e o controlo estiverem em células diferentes numa tabela de esquema, clique com o botão direito do rato na célula que contém a etiqueta, clique em Propriedades da Tabela no menu de atalho e, em seguida, clique em Centrar em Alinhamento vertical no separador Célula.
- A opção Repetir verticalmente no separador Apresentar da caixa de diálogo Propriedades da Secção de Repetição está selecionada por predefinição. Isto significa que, à medida que os utilizadores adicionam secções de repetição, essas secções aparecem numa formação vertical ao longo do formulário. Pode optar por fazer com que a secção de repetição se expanda horizontalmente ao selecionar a opção Repetir horizontalmente . Isto permite-lhe criar esquemas completamente diferentes. Por exemplo, pode criar um modelo de formulário semelhante a um calendário. A opção Repetir horizontalmente não é suportada em modelos de formulário compatíveis com o browser.
Sugestões de esquema de tabela de repetição horizontal
Utilize as seguintes sugestões para o ajudar a refinar o aspeto, o tamanho e outros aspetos de um controlo Tabela de Repetição Horizontal e os controlos dentro do mesmo:
- Uma tabela de repetição horizontal consiste numa secção de repetição dentro de uma tabela de esquema. O limite direito da tabela de esquema define o ponto em que as colunas na tabela moldam para a linha seguinte quando os utilizadores inserem colunas adicionais. Para controlar a moldagem de colunas, pode arrastar o limite direito da célula da tabela de esquema que coloca o controlo de secção de repetição à direita ou à esquerda.
- Uma tabela de repetição horizontal pode ser útil para fins de impressão. As colunas no controlo moldam-se para a linha seguinte no modelo de formulário, para que todas as informações na tabela estejam impressas. No entanto, se o modelo de formulário se destinar principalmente à visualização no ecrã, considere colocar a tabela de repetição horizontal dentro de um controlo Região de Deslocamento no modelo de formulário. Dessa forma, se os utilizadores introduzirem uma grande quantidade de dados na tabela de repetição horizontal, podem deslocar-se para vê-los em vez de ver tudo no formulário. No entanto, tenha em atenção que, ao utilizar uma região de deslocamento, se um utilizador imprimir o formulário, apenas os dados visíveis no ecrã na região de deslocamento serão impressos.
Formas de personalizar uma secção de repetição
Depois de inserir uma secção de repetição num modelo de formulário, pode personalizá-la ao alterar as respetivas propriedades e definições na caixa de diálogo Propriedades da Secção de Repetição . Para abrir a caixa de diálogo, no modelo de formulário, clique com o botão direito do rato na secção de repetição cujas propriedades pretende alterar e, em seguida, clique em Repetir Propriedades da Secção.
A tabela seguinte descreve algumas das formas através das quais pode personalizar uma secção de repetição e oferece razões pelas quais poderá fazê-lo. Embora a tabela não forneça informações processuais detalhadas sobre as opções na caixa de diálogo Propriedades da Secção de Repetição , dá-lhe uma ideia do intervalo de opções que estão disponíveis.
Nota
- Se estiver a estruturar um modelo de formulário compatível com o browser, determinadas funcionalidades na caixa de diálogo Propriedades da Secção de Repetição não estão disponíveis. Por exemplo, não pode ativar a definição que permite aos utilizadores inserir secções horizontalmente, numa formação lado a lado.
- Se o modelo de formulário for baseado numa base de dados, num esquema ou noutra origem de dados existente, poderá não conseguir personalizar todos os aspetos de um controlo. Por exemplo, pode ser capaz de alterar o tamanho do controlo, mas não o nome do campo ou do grupo, que derivam da origem de dados existente.
| Tecla de Tabulação | Tarefa | Detalhes |
|---|---|---|
| Dados | Alterar nome do grupo | Quando cria um novo modelo de formulário em branco, pode alterar o nome predefinido do campo ou grupo de um controlo para algo que seja mais fácil de identificar quando trabalha com a origem de dados. Por exemplo, num modelo de formulário de seguro, é mais fácil compreender um grupo com o nome "Dependente" do que um grupo denominado "grupo1". Nota: Alterar o nome do grupo não altera o enlace entre uma secção de repetição no modelo de formulário e um grupo de repetição na origem de dados. Se precisar de vincular uma secção de repetição a um grupo de repetição diferente, clique com o botão direito do rato na secção de repetição e, em seguida, clique em Alterar Enlace. |
| Dados | Impedir que os utilizadores insiram e eliminem as secções | Por predefinição, a caixa de verificação Permitir que os utilizadores insiram e eliminem as secções está selecionada. Se desmarcar esta caixa de verificação, os utilizadores não poderão inserir ou eliminar as secções numa secção de repetição. Isto é útil em cenários de relatórios em que pretende apresentar dados repetidos, mas não quer que os utilizadores alterem esses dados ou adicionem mais secções. |
| Dados | Personalizar comandos de menu | Clique em Modificar para modificar ainda mais as propriedades da secção. Por exemplo, pode abrir a caixa de diálogo Personalizar Comandos , onde pode personalizar os nomes e localizações dos comandos de menu utilizados para inserir ou remover secções no formulário do utilizador. Este tipo de personalização facilita a utilização do modelo de formulário. Por exemplo, pode adicionar comandos personalizados ao menu Editar que permitem aos utilizadores remover secções repetidas do respetivo formulário. |
| Data | Mostrar ou personalizar texto de sugestão | A caixa de verificação Mostrar texto de inserção e sugestão está selecionada por predefinição. Pode desmarcar esta caixa de verificação se não quiser que os utilizadores vejam texto informativo no formulário ou pode personalizar o texto informativo. Por exemplo, se tiver um modelo de formulário de seguro no qual os utilizadores têm de introduzir dependentes numa secção de repetição, poderá alterar o texto "Inserir item" que aparece por baixo da secção de repetição para "Inserir dependente adicional". |
| Visualização | Permitir que os utilizadores insiram secções numa formação lado a lado em vez de uma após a outra | A opção Repetir verticalmente está selecionada por predefinição. Isto significa que, à medida que os utilizadores adicionam secções de repetição, essas secções aparecem numa formação vertical ao longo do formulário. Em alternativa, pode optar por fazer com que a secção de repetição se expanda horizontalmente. Isto permite-lhe criar esquemas completamente diferentes. Por exemplo, pode criar um modelo de formulário semelhante a um calendário. A opção Repetir horizontalmente não é suportada em modelos de formulário compatíveis com o browser. |
| Visualização | Filtrar dados | Clique em Filtrar Dados para abrir a caixa de diálogo Filtrar Dados , onde pode permitir que os utilizadores filtrem dados numa secção de repetição com base nos valores que o utilizador introduz ou seleciona noutro local no formulário. Por exemplo, se utilizar uma secção de repetição para recolher informações sobre os projetos atuais, pode criar uma caixa de listagem que permita aos utilizadores filtrar os respetivos projetos por estado. |
| Forma Mestre/Detalhe | Configurar uma relação mestre/detalhe | No separador Mestre/Detalhe , pode estabelecer uma relação mestre/detalhe entre uma tabela de repetição (o controlo principal) e uma secção de repetição (o controlo de detalhes). Se configurar este tipo de relação, os dados relacionados serão apresentados na secção de repetição com base no item que um utilizador seleciona na tabela de repetição. Os controlos mestre/detalhe não são suportados em modelos de formulário compatíveis com o browser. |
| Dimensão | Ajustar o tamanho, o preenchimento e as margens | Pode especificar manualmente o tamanho de um controlo ao introduzir valores nas caixas Altura e Largura . Também pode refinar o espaçamento dentro e fora do controlo ao alterar o preenchimento, que é a quantidade de espaço na memória intermédia que rodeia o conteúdo do controlo, ou as margens, que é a quantidade de espaço entre o limite do controlo e qualquer texto ou controlos adjacentes no modelo de formulário. |
| Avançado | Alterar a ordem do índice do separador | Pode alterar a posição de um controlo na ordem de tabulação geral do modelo de formulário. A ordem de tabulação é a ordem pela qual o foco se move num formulário de um campo ou objeto para o seguinte à medida que os utilizadores primem a Tecla de Tabulação ou Shift+Tecla de Tabulação. A predefinição do índice de separadores para todos os controlos num modelo de formulário é 0, mas a ordem de tabulação começa com 1. Ou seja, qualquer controlo com 1 na caixa Índice de tabulação será visitado primeiro quando os utilizadores premirem a Tecla de Tabulação. Qualquer controlo com 2 na caixa Índice de tabulação será visitado em segundo lugar e assim sucessivamente. Todos os controlos com 0 na caixa Índice de tabulação serão os últimos na ordem de tabulação. Se quiser ignorar os controlos na ordem de tabulação, introduza -1 na caixa Índice de tabulação . |
| Avançado | Especificar uma Descrição | Para apresentar uma nota explicativa quando os utilizadores moverem o ponteiro sobre o controlo, introduza o texto pretendido na caixa Descrição . Os auxiliares de acessibilidade, como utilitários de revisão de ecrã que disponibilizam informações no ecrã como voz sintetizada ou um ecrã Braille atualizável, dependem frequentemente destas Descrições para interpretar informações para os seus utilizadores. |
| Avançado | Especificar e personalizar as definições de intercalação | Clique em Definições de Intercalação para especificar a forma como os dados que os utilizadores introduzem no controlo devem ser apresentados quando são combinados vários formulários. Por exemplo, pode alterar a ordem pela qual as secções de repetição são inseridas no formulário de destino. |
| Avançado | Obter os identificadores ViewContext ou XmlToEdit para a secção de repetição | Pode utilizar o valor ViewContext ou XmlToEdit para identificar o controlo no código. Por exemplo, se souber o valor ViewContext , pode utilizar esse valor com os métodos SelectText ou SelectNodes da classe View para executar programaticamente uma ação de edição nos dados XML vinculados ao controlo. Da mesma forma, se souber o valor XmlToEdit , pode utilizar esse valor com o método ExecuteAction do objeto View para inserir ou remover programaticamente instâncias de um controlo de repetição. Por exemplo, pode especificar um valor de enumeração ActionType , como XCollectionInsert ou XCollectionRemoveAll e o nome XmlToEdit , que identifica o grupo específico com o qual trabalhar. |
| Formulários do browser | Personalizar as definições para publicar dados novamente no servidor | O separador Formulários do browser só é apresentado quando estiver a estruturar um modelo de formulário compatível com o browser. Permite-lhe controlar se os dados são enviados para o servidor quando os utilizadores inserem ou removem secções no formulário. |
| Outras Ações | Aplicar regras | Faça duplo clique no separador na secção de repetição e, em seguida, clique em Gerir Regras na secção Regras no separador Propriedades das Ferramentas de Controlo do friso . O painel de tarefas Regras é apresentado, onde pode utilizar regras para aplicar ações quando os utilizadores inserem ou trabalham com controlos dentro da secção de repetição. |
| Outras Ações | Adicionar formatação condicional | Faça duplo clique no separador na secção de repetição e clique em Gerir Regras na secção Regras no separador Propriedades das Ferramentas de Controlo do friso, clique em Novo e, em seguida, clique em Formatação. Isto permite-lhe criar uma regra de formatação condicional para alterar o aspeto de um controlo, incluindo a sua visibilidade, com base nos valores que os utilizadores introduzem no formulário. Por exemplo, pode optar por ocultar uma secção de repetição sempre que um utilizador desmarcar uma caixa de verificação específica no formulário. |