Elemento de interface do usuário Microsoft.Common.EditableGrid
Um controle para coletar entradas tabulares. Todos os campos dentro da grade são editáveis e o número de linhas pode variar.
Exemplo de interface do usuário
Esquema
{
"name": "people",
"type": "Microsoft.Common.EditableGrid",
"ariaLabel": "Enter information per person",
"label": "People",
"constraints": {
"width": "Full",
"rows": {
"count": {
"min": 1,
"max": 10
}
},
"columns": [
{
"id": "colName",
"header": "Name",
"width": "1fr",
"element": {
"type": "Microsoft.Common.TextBox",
"placeholder": "Full name",
"constraints": {
"required": true,
"validations": [
{
"isValid": "[startsWith(last(take(steps('grid').people, $rowIndex)).colName, 'contoso')]",
"message": "Must start with 'contoso'."
},
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only alphanumeric characters are allowed, and the value must be 1-30 characters long."
}
]
}
}
},
{
"id": "colGender",
"header": "Gender",
"width": "1fr",
"element": {
"name": "dropDown1",
"type": "Microsoft.Common.DropDown",
"placeholder": "Select a gender...",
"constraints": {
"allowedValues": [
{
"label": "Female",
"value": "female"
},
{
"label": "Male",
"value": "male"
},
{
"label": "Other",
"value": "other"
}
],
"required": true
}
}
},
{
"id": "colContactPreference",
"header": "Contact preference",
"width": "1fr",
"element": {
"type": "Microsoft.Common.OptionsGroup",
"constraints": {
"allowedValues": [
{
"label": "Email",
"value": "email"
},
{
"label": "Text",
"value": "text"
}
],
"required": true
}
}
}
]
}
}
Saída de exemplo
{
"colName": "contoso",
"colGender": "female",
"colContactPreference": "email"
}
Comentários
Os únicos controles válidos dentro da matriz de colunas são TextBox,OptionsGroup e DropDown.
A variável
$rowIndex
só é válida em expressões contidas em filhos das colunas da grade. É um inteiro que representa o índice de linha relativo do elemento e a contagem começa em um e incrementa em um. Conforme mostrado na seção"columns":
do esquema, o$rowIndex
é usado para validação.Quando as validações são executadas usando a variável
$rowIndex
, é possível obter o valor da linha atual combinando os comandoslast()
etake()
.Por exemplo:
last(take(<reference_to_grid>, $rowIndex))
A propriedade
label
não aparece como parte do controle, mas é exibida no resumo da guia final.A propriedade
ariaLabel
é o rótulo de acessibilidade para a grade. Especifique um texto útil para usuários que usam leitores de tela.A propriedade
constraints.width
é usada para definir a largura geral da grade. As opções são Full, Medium, Small. O padrão é Full.A propriedade
width
em filhos de colunas determina a largura da coluna. As larguras são especificadas usando unidades fracionadas, como 3fr, com o espaço total sendo alocado para colunas proporcionais às suas unidades. Se nenhuma largura de coluna for especificada, o padrão será 1fr.
Próximas etapas
- Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução ao CreateUiDefinition.
- Para obter uma descrição das propriedades comuns em elementos de interface do usuário, consulte Elementos de CreateUiDefinition.