- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- Notas de versão
- Sobre o pacote de atividades Data Service
- Compatibilidade do projeto
- Criar Gravação de Entidade
- Excluir Registro de Entidade
- Obter Registro de Entidade Por Id
- Consultar Registros de Entidade
- Atualizar Registro de Entidade
- Carregar Arquivo no Campo de Registro
- Baixar arquivo do Campo de Registro
- Excluir Arquivo do Campo de Registro
- Criar Vários Registros de Entidade
- Atualizar Vários Registros de Entidade
- Excluir Vários Registros de Entidade
- Formulário
- Notas de versão
- Compatibilidade do projeto
- Formulários em tempo real
- Atualização de dados do formulário
- Execução de formulários usando JavaScript
- Personalização de formulários usando CSS
- Componentes condicionais
- Adição de vários componentes na mesma linha em Colunas
- Como usar o componente Data Table
- Get File/Folder Path
- Leitura de valores de célula de um componente de Grade de Dados
- Exibição de arquivos PDF
- Exibição de imagens em formulários
- Rolagem através de grades de dados
- Uso de ferramentas de desenvolvimento com formulários
- Calcular valores do componente do formulário
- Como gerenciar datas em formulários
- Como abrir hiperlinks dentro de formulários
- Exibição de uma guia padrão em formulários
- Exibição do rótulo completo de um componente
- Como pesquisar strings longas em listas suspensas
- Sobre a experiência pré-23.4 do Form
- Compatibilidade do Projeto
- Formulários em tempo real
- Caixas de seleção dinâmicas
- Menus suspensos condicionais
- Exibindo uma guia padrão
- Exibição de imagens
- Exibição de arquivos PDF
- Exibição do rótulo completo
- Elementos HTML dinâmicos
- Gerenciamento de datas
- Como pesquisar strings longas em menus suspensos
- Personalização de formulários usando arquivos CSS locais
- Execução do bloco Fazer durante alteração de caixa de seleção
- Personalização da largura de colunas
- Atualização de dados do formulário
- Redefinição de dados da coleção
- Lógica Avançada
- Execução do bloco Fazer durante alteração de opção em menu suspenso
- Leitura de valores de célula de um componente de Grade de Dados
- Componentes condicionais
- Rolagem através de componentes de Grade de Dados
- Como usar o componente de Grade
- Ferramentas de Desenvolvedor
- Valor Calculado
- Menus suspensos dinâmicos
- Como alternar abas com um clique de botão
- Como abrir hiperlinks dentro de formulários
- FTP
- IPC
- Persistence
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Persistence
- Bulk Form Designer
- Start Job And Get Reference
- Wait for Job and Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait for Form Task and Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task and Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Add Task Comment
- Update Task Labels
- Criar tarefa do aplicativo
- Wait For App Task and Resume
- Trabalhando com tarefas de aplicativo
- Criando sua primeira ação de formulário
- Controles avançados para menus suspensos
- Incorporando objetos em ações de formulário
- Permitindo que usuários baixem arquivos para o bucket de armazenamento
- Adicionando lógica avançada usando Java Script
- Configurando uma guia padrão
- Removendo o botão Excluir de Editar grade usando CSS personalizado
- Personalização de modelos de Editar grade
- Uso de botões para disparar uma lógica personalizada
- Usando um layout de formulário externo
- Expansão dinâmica de componentes do formulário no runtime
- Amostras de Fluxos de Trabalho
- Pipelines do Automation Ops
- System
- Notas de versão
- Sobre o pacote de atividades System
- Compatibilidade do projeto
- Assistente do Construtor RegEx
- É Correspondência de Texto
- Encontrar Padrões Correspondentes
- Modify Text
- Modify Date
- Replace Matching Patterns
- Text to Left/Right
- Adicionar Coluna de Dados
- Add Data Row
- Criar Tabela de Dados
- Clear Data Table
- Get Row Item
- Update Row Item
- Merge Data Table
- Output Data Table
- Remove Data Column
- Remove Data Row
- For Each Row in Data Table
- Generate Data Table From Text
- Create List
- Append Item to List
- Read List Item
- Update List Item
- Add Log Fields
- Comentar / Atividades desabilitadas
- Comentar
- Change Type
- Mensagem do Log
- Remove Log Fields
- Invoke Com Method
- Format Value
- Lookup Data Table
- Filtrar Tabela de Dados
- Sort Data Table
- Remove Duplicate Rows
- Join Data Tables
- Report Status
- Anexar Linha
- Compress/Zip Files
- Copy File
- Copy Folder
- Create Folder
- Create File
- Excluir
- File Exists
- Folder Exists
- Extract/Unzip Files
- Wait for Download
- File Change Trigger
- For Each File In Folder
- For Each Folder in Folder
- Delete File
- Delete Folder
- Move File
- Move Folder
- Rename Folder
- Rename File
- Path Exists
- Ler Arquivo de Texto
- Gravar Arquivo de Texto
- Get File Info
- Get Folder Info
- Get Processes
- Get Username/Password
- Kill Process
- Beep
- Get Environment Folder
- Get Environment Variable
- Invoke Power Shell
- Input Dialog
- Caixa de Mensagem
- Browse for file
- Pesquisar pasta
- Invoke VBScript
- Process End Trigger
- Process Start Trigger
- File Change Trigger v3
- Trigger Scope
- Repeat Number Of Times
- Colocar todo o texto em Maiúscula/Minúscula
- Set Environment Variable
- For Each
- Break / Exit Loop
- Tentar Escopo Novamente
- Check True
- Check False
- Workflow Placeholder
- Invocar Arquivo de Fluxo de Trabalho
- Launch Workflow Interactive
- Invoke Code
- Continue / Skip Current
- Multiple Assign
- Invocar Processo
- Run Parallel Process
- While
- Do While
- Repeat Number Of Times
- Raise Alert
- Orchestrator HTTP Request
- Get Asset
- Get Credential / Get Orchestrator Credential
- Set Asset
- Set Credential
- Get Jobs
- Get Current Job Info
- Iniciar Trabalho
- Parar Tarefa
- Add Queue Item
- Add Transaction Item
- Delete Queue Items
- Get Queue Items
- Obter item de transação
- Postpone Transaction Item
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Wait Queue Item
- Bulk Add Queue Items
- Write Storage Text
- Upload Storage File
- List Storage Files
- Read Storage Text
- Download Storage File
- Delete Storage File
- Entrada Personalizada
- Append Item to Collection
- Build Collection
- Collection to DataTable
- Exists In Collection
- Filter Collection
- Merge Collections
- Remove From Collection
- Reset Timer
- Resume Timer
- Start Timer
- Stop Timer
- Timeout Scope
- Manual Trigger
- When New Item Added to Queue
- Parar Gatilhos Locais
- Executar Gatilhos Locais
- Repetir gatilho
- Gatilho de Tempo
- Desabilitar Gatilho Local
- Habilitar Gatilho Local
- Notify Global Variable Changed
- Gatilho de variável global alterada
- Extrair Texto
- Localizar e substituir
- Retornar
- Extrair data e hora de um texto
- Alterar formatação para texto
- Add or Subtract from Date
- Baixar arquivo da URL
- Formatar data como texto
- Dividir texto
- Combinar texto
- Add Data Row
- AddQueueItem
- Add Transaction Item
- Anexar Linha
- BulkAddQueueItems
- Clear Data Table
- Compactar Arquivos ZIP
- Copy File
- Create File
- Create Folder
- Delete File or Folder
- Delete Queue Items
- Delete Storage File
- Download Storage File
- ExtractUnzip Files
- Filtrar Tabela de Dados
- Get Asset
- Get Credential
- GetJobs
- Get Queue Item
- GetQueueItems
- Obter recurso para caminho local
- Get Row Item
- Obter item de transação
- Invocar Processo
- Join Data Tables
- List Storage Files
- Lookup Data Table
- Merge Data Table
- Move File
- Orchestrator HTTP Request
- OutputDataTable
- Path Exists
- Postpone Transaction Item
- Read Storage Text
- Ler Arquivo de Texto
- Remove Data Column
- Remove Duplicate Rows
- Substituir
- Set Asset
- Set Credential
- SetTransactionProgress
- Set Transaction Status
- Sort Data Table
- Iniciar Trabalho
- Parar Tarefa
- Update Row Item
- Upload Storage File
- Wait Queue Item
- Write Storage Text
- Gravar Arquivo de Texto
- Teste
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Testing
- O nome do caso de teste não é exclusivo no projeto
- Convenção de nomenclatura do caso de teste quebrada
- Verificações ausentes dentro do caso de teste
- Fluxos de trabalho não testados
- Test Manager conectado
- Simulação não usada
- Caso de teste sem anotações
- Caso de teste/fluxo de trabalho muito complexo
- O caso de teste possui muitas ramificações
- Configurações do projeto
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Address
- Add Test Data Queue Item
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- GivenName
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- Verify Expression
- Verify Expression with Operator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- Verify Range
- Workflow Events
- Workflow Foundation
Personalização da largura de colunas
Às vezes, as tabelas em seu formulário precisam de colunas mais largas ou mais estreitas, em vez de colunas com a mesma largura. Você pode definir uma largura personalizada para tabelas nos componentes Edit Grid e Data Grid.
Column3
em uma tabela salva como myTable
.
Construindo a tabela de dados
Para criar uma tabela para usar dentro do seu formulário:
- Dentro de seu fluxo de trabalho, adicione a atividade Build Data Table .
- Clique em DataTable... . O assistente Construir Tabela de Dados é aberto.
-
Adicione as colunas desejadas para sua tabela e edite suas propriedades.
Certifique-se de que o nome das colunas não tenha espaços ou caracteres especiais, pois você usa esses nomes para vincular as colunas no formulário por meio da guia do componente Chave de campo .
- Clique em OK para salvar a tabela.
-
No painel Properties > campo Output da atividade Build Data Table , defina um nome de variável para sua tabela (por exemplo,
myTable
).Você usa essa variável para vincular a tabela ao formulário por meio da propriedade FormFieldsCollection da atividade Criar formulário .
Para vincular a tabela de dados ao seu formulário:
- Adicione a atividade Criar formulário em seu fluxo de trabalho.
- No painel Propriedades > campo FormFieldsCollection , clique no menu de três pontos (fa-ellipsis-v:) . O assistente FormFieldsCollection é aberto.
-
Crie um argumento e vincule-o à tabela criada anteriormente usando a variável (ou seja,
myTable
). Defina a Direção do argumento comoIn/Out
e o Tipo comoDataTable
. Dê um Nome ao seu argumento, por exemplotable
.
-
Clique em OK.
Certifique-se de que a caixa GenerateInputFields esteja desmarcada.
- Abra o Form Designer da atividade Create Form .
- Na categoria Dados , arraste e solte um componente de grade (ou seja, Editar grade e/ou grade de dados).
-
Na aba Chave de Campo da sua grade, faça referência ao argumento da tabela (ou seja,
table
).O valor da Chave de campo diferencia maiúsculas de minúsculas.
-
Adicione componentes de texto em sua grade para replicar as colunas em sua tabela. Salve cada componente de texto.
Por exemplo, se sua tabela tiver três colunas chamadasColumn1
,Column2
eColumn3
, arraste e solte três componentes de texto em sua grade e certifique-se de usar os nomes das colunas da tabela na guia Chave de campo dos componentes .O valor da Chave de campo diferencia maiúsculas de minúsculas.
- Salve o formulário.
Usando o Bootsrap 3
- Vá para as configurações de Editar componente de grade .
-
Na guia Modelos > seção Modelo de cabeçalho , altere o código gerado padrão com o seguinte modelo:
<div class="row"> {% util.eachComponent(components, function(component) { %} {% if (displayValue(component)) { %} {% if (component.key=== 'Column3') { %} <div class="col-sm-8"> {% } %} {% if (component.key !== 'Column3') { %} <div class="col-sm-2"> {% } %} {{ component.label }}</div> {% } %} {% }) %} </div>
<div class="row"> {% util.eachComponent(components, function(component) { %} {% if (displayValue(component)) { %} {% if (component.key=== 'Column3') { %} <div class="col-sm-8"> {% } %} {% if (component.key !== 'Column3') { %} <div class="col-sm-2"> {% } %} {{ component.label }}</div> {% } %} {% }) %} </div> -
Na guia Modelos > seção Modelo de linha , altere o código gerado padrão com o seguinte modelo:
<div class="row"> {% util.eachComponent(components, function(component) { %} {% if (!component.hasOwnProperty('tableView') || component.tableView) { %} {% if (component.key=== 'Column3') { %} <div class="col-sm-8"> {% } %} {% if (component.key !== 'Column3') { %} <div class="col-sm-2"> {% } %} {{ getView(component, row[component.key]) }} </div> {% } %} {% }) %} {% if (!instance.options.readOnly && !instance.disabled) { %} <div class="col-sm-2"> <div class="btn-group pull-right"> <button class="btn btn-default btn-light btn-sm editRow"><i class="{{ iconClass('edit') }}"></i></button> {% if (!instance.hasRemoveButtons || instance.hasRemoveButtons()) { %} <button class="btn btn-danger btn-sm removeRow"><i class="{{ iconClass('trash') }}"></i></button> {% } %} </div> </div> {% } %} </div>
<div class="row"> {% util.eachComponent(components, function(component) { %} {% if (!component.hasOwnProperty('tableView') || component.tableView) { %} {% if (component.key=== 'Column3') { %} <div class="col-sm-8"> {% } %} {% if (component.key !== 'Column3') { %} <div class="col-sm-2"> {% } %} {{ getView(component, row[component.key]) }} </div> {% } %} {% }) %} {% if (!instance.options.readOnly && !instance.disabled) { %} <div class="col-sm-2"> <div class="btn-group pull-right"> <button class="btn btn-default btn-light btn-sm editRow"><i class="{{ iconClass('edit') }}"></i></button> {% if (!instance.hasRemoveButtons || instance.hasRemoveButtons()) { %} <button class="btn btn-danger btn-sm removeRow"><i class="{{ iconClass('trash') }}"></i></button> {% } %} </div> </div> {% } %} </div>Observação:- Observe que você compara o valor
component.key
ao nome da coluna, que é o mesmo usado na guia Chave de Campo de cada componente de texto (etapa 4 para vincular a tabela de dados aos componentes Editar Grade ou Grade de Dados). - Os formulários UiPath estão usando a estrutura Bootstrap 3. A largura total da mesa é dividida em 12 seções. Portanto, certifique-se de que qualquer divisão que você fizer, somará 12. Neste exemplo, duas colunas com a classe
col-sm-2
ocupam 4 seções, deixando as 8 restantes para a terceira coluna (col-sm-8
).
- Observe que você compara o valor
Usando a propriedade Style
- Passe o mouse sobre o componente Editar grade e clique em Editar. A página de configuração é aberta.
-
Navegue até a guia Modelos .
2.1. No script do modelo de cabeçalho , identifique todas as tags<div class="col-sm-2">
e adicione sua largura personalizada da seguinte forma:style="width:{your_custom_width}px !important"
. A largura deve ser expressa em pixels.2.2. No script Row Template , identifique todas as tags<div class="col-sm-2">
e adicione sua largura personalizada da seguinte forma:style="width:{your_custom_width}px !important"
. A largura deve ser expressa em pixels.O elemento"col-sm-2"
representa a largura da coluna padrão. Você pode modificar a largura padrão da coluna adicionando uma marca de estilo personalizada. Por exemplostyle="width:70px !important"
aplica uma largura de 70 pixels a todas as colunas Edit Grid .
- Salve seu componente e o formulário.
-
Crie um arquivo CSS local com as larguras de coluna desejadas. Em nosso exemplo, o modelo a seguir cria um
Column3
mais amplo (ou seja,nth-child(3)
):.mygrid tbody>tr>:nth-child(1){ width: 70px; } .mygrid tbody>tr>:nth-child(2){ width: 15%; } .mygrid tbody>tr>:nth-child(3){ width: 60%; }
.mygrid tbody>tr>:nth-child(1){ width: 70px; } .mygrid tbody>tr>:nth-child(2){ width: 15%; } .mygrid tbody>tr>:nth-child(3){ width: 60%; } - No painel Propriedades > campo LocalCSSFilePath da atividade Criar formulário , faça referência ao arquivo CSS criado anteriormente. Por exemplo,
"/file://C:\User\Desktop\EditColumnWidth.css"
. - No componente Grade de dados > guia Exibir > campo Classe CSS personalizada , insira o nome da classe CSS (por exemplo,
mygrid
).
Para verificar os fluxos de trabalho completos ou para ter uma referência futura, baixe os exemplos de XAML
- Tutorial
- Vinculando a tabela de dados aos seus componentes de formulário e grade
- Para vincular a tabela de dados ao componente Edit Grid ou Data Grid:
- Personalizando a largura das colunas em Editar componentes da grade
- Personalizando a Largura das Colunas nos Componentes da Grade de Dados
- Fluxo de trabalho amostral