Aviso de tradução por IA
Esta documentação foi traduzida automaticamente por IA.
Campo de Ordenação
This feature is provided by the plugin «Campo da coleção: Ordenar»
Introdução
Campos de ordenação são usados para ordenar registros em uma coleção, suportando a ordenação dentro de grupos.
WARNING
Como o campo de ordenação faz parte da mesma coleção, um registro não pode ser atribuído a múltiplos grupos ao usar a ordenação por grupo.
Instalação
Plugin integrado, não requer instalação separada.
Manual do Usuário
Criar um Campo de Ordenação

Ao criar campos de ordenação, os valores de ordenação serão inicializados:
- Se a ordenação por grupo não for selecionada, a inicialização será baseada no campo de chave primária e no campo de data de criação.
- Se a ordenação por grupo for selecionada, os dados serão agrupados primeiro, e então a inicialização será baseada no campo de chave primária e no campo de data de criação.
Explicação da Consistência de Transações
- Ao criar um campo, se a inicialização do valor de ordenação falhar, o campo de ordenação não será criado;
- Dentro de um determinado intervalo, se um registro se mover da posição A para a posição B, os valores de ordenação de todos os registros entre A e B serão alterados. Se qualquer parte desta atualização falhar, a operação de movimentação será revertida, e os valores de ordenação dos registros relacionados não serão alterados.
:::
Exemplo 1: Criar o campo sort1
O campo sort1 não é agrupado.

Os campos de ordenação de cada registro serão inicializados com base no campo de chave primária e no campo de data de criação.

Exemplo 2: Criar um campo sort2 baseado no agrupamento por ID da Classe

Neste momento, todos os registros na coleção serão agrupados primeiro (agrupados por ID da Classe), e então o campo de ordenação (sort2) será inicializado. Os valores iniciais de cada registro são:

Ordenação por Arrastar e Soltar
Campos de ordenação são principalmente usados para a ordenação por arrastar e soltar de registros em vários blocos. Os blocos que atualmente suportam a ordenação por arrastar e soltar incluem tabelas e quadros.
:::warning
- Quando o mesmo campo de ordenação é usado para ordenação por arrastar e soltar, usá-lo em múltiplos blocos pode interromper a ordem existente;
- O campo para ordenação de tabelas por arrastar e soltar não pode ser um campo de ordenação com uma regra de agrupamento;
- Exceção: Em um bloco de tabela de relacionamento um-para-muitos, a chave estrangeira pode servir como um grupo;
- Atualmente, apenas o bloco de quadro suporta a ordenação por arrastar e soltar dentro de grupos.
:::
Ordenação por Arrastar e Soltar de Linhas da Tabela
Bloco de tabela

Bloco de tabela de relacionamento
:::warning
Em um bloco de relacionamento um-para-muitos:
- Se um campo de ordenação não agrupado for selecionado, todos os registros podem participar da ordenação.
- Se os registros forem primeiro agrupados pela chave estrangeira e depois ordenados, a regra de ordenação afetará apenas os dados dentro do grupo atual.
O efeito final é consistente, mas o número de registros que participam da ordenação é diferente. Para mais detalhes, consulte Explicação da Regra de Ordenação.
Ordenação por Arrastar e Soltar de Cartões do Quadro

Explicação da Regra de Ordenação
Deslocamento entre elementos não agrupados (ou do mesmo grupo)
Suponha que haja um conjunto de dados:
Quando um elemento, digamos 5, se move para a posição de 3, apenas as posições dos itens 3, 4 e 5 mudam. O item 5 ocupa a posição de 3, e os itens 3 e 4 se deslocam uma posição para trás.
Se então movermos o item 6 para trás para a posição de 8, o item 6 ocupa a posição de 8, e os itens 7 e 8 se deslocam uma posição para frente.
Movimentação de elementos entre diferentes grupos
Ao ordenar por grupo, se um registro for movido para outro grupo, sua atribuição de grupo também mudará. Por exemplo:
A: [1,2,3,4]
B: [5,6,7,8]
Quando o item 1 é movido após o item 6 (o comportamento padrão), seu grupo também mudará de A para B.
A: [2,3,4]
B: [5,6,1,7,8]
Alterações na ordenação são independentes dos dados exibidos na interface
Por exemplo, considere um conjunto de dados:
A interface exibe apenas uma visualização filtrada:
Quando o item 1 é movido para a posição do item 9, as posições de todos os itens intermediários (2, 3, 4, 5, 6, 7, 8) também mudarão, mesmo que não estejam visíveis.
A interface agora exibe a nova ordem com base nos itens filtrados: