Campo de ordenación
Collection field: SortCommunity Edition+Introducción
En NocoBase, el campo de ordenación (Sort) se utiliza para registrar el valor de ordenación de los registros de una tabla de datos. Se usa habitualmente para ordenar mediante arrastrar y soltar los registros de bloques como tablas y tableros.
El campo de ordenación admite ordenar sin agrupar y también agrupar primero y ordenar después. La ordenación por grupos es adecuada para escenarios de “ordenación independiente dentro de cada grupo”, como ordenar estudiantes por clase o tareas por estado del tablero.
Dado que el campo de ordenación es un campo de la misma tabla, al ordenar por grupos no se admite que el mismo registro aparezca simultáneamente en varios grupos.
Instalación
El campo de ordenación lo proporciona un complemento integrado, por lo que no es necesario instalarlo por separado.
Crear un campo de ordenación
En la página «Configure fields» de la tabla de datos, haz clic en «Add field» y selecciona «Ordenación» para crear un campo de ordenación.

Al crear un campo de ordenación, NocoBase inicializa los valores de ordenación:
- Si no se selecciona la ordenación por grupos, se inicializan según el campo de clave principal y el campo de fecha de creación
- Si se selecciona la ordenación por grupos, primero se agrupan los datos y después se inicializan según el campo de clave principal y el campo de fecha de creación
Al crear el campo, si falla la inicialización de los valores de ordenación, el campo de ordenación no se creará. Dentro de un intervalo determinado, si un registro se mueve de la posición A a la posición B, cambiarán los valores de ordenación de todos los registros del intervalo AB; si alguno falla, el movimiento fallará y no cambiarán los valores de ordenación de los registros correspondientes.
Crear un campo de ordenación sin agrupación
A continuación se muestra un ejemplo de creación del campo sort1, que no utiliza la ordenación por grupos.

Los campos de ordenación de cada registro se inicializan según el campo de clave principal y el campo de fecha de creación.

Crear un campo de ordenación por grupos
A continuación se muestra cómo crear un campo sort2 basado en la agrupación por Class ID.

En este caso, primero se agrupan todos los registros de la tabla de datos según Class ID y, después, se inicializa el campo de ordenación.

Ordenación mediante arrastrar y soltar
El campo de ordenación se utiliza principalmente para ordenar mediante arrastrar y soltar los registros de distintos bloques. Actualmente, los bloques compatibles con esta función son las tablas y los tableros.
- Usar el mismo campo de ordenación para arrastrar y soltar en varios bloques puede dañar la ordenación existente
- El campo utilizado para ordenar mediante arrastrar y soltar en una tabla no puede ser un campo de ordenación con reglas de agrupación
- En un bloque de tabla de una relación uno a varios, la clave externa puede utilizarse como agrupación
- Actualmente, solo el bloque de tablero admite la ordenación mediante arrastrar y soltar por grupos
Ordenación mediante arrastrar y soltar de las filas de una tabla
Los bloques de tabla pueden utilizar un campo de ordenación para ajustar el orden de los registros mediante arrastrar y soltar.

Los bloques de tabla de relaciones también pueden utilizar un campo de ordenación para ordenar mediante arrastrar y soltar.
En un bloque de relación uno a varios, si se selecciona un campo de ordenación sin agrupación, todos los registros pueden participar en la ordenación; si primero se agrupa por la clave externa y después se ordena, la regla de ordenación solo afectará a los datos del grupo actual. El resultado final puede parecer el mismo, pero el intervalo de registros que participa en la ordenación es diferente.
Ordenación mediante arrastrar y soltar de las tarjetas de un tablero
Los bloques de tablero pueden utilizar un campo de ordenación para ajustar el orden de las tarjetas mediante arrastrar y soltar.

Descripción de las reglas de ordenación
Movimiento entre registros sin agrupar
Supongamos que tenemos un conjunto de datos:
Cuando 5 se mueve hacia delante hasta la posición de 3, solo cambiarán los números de 3, 4 y 5. 5 ocupa la posición de 3, mientras que 3 y 4 se desplazan una posición hacia atrás.
A continuación, si 6 se mueve hacia atrás hasta la posición de 8, 6 ocupa la posición de 8, mientras que 7 y 8 se desplazan una posición hacia delante.
Movimiento entre grupos diferentes
Al ordenar por grupos, cuando un registro se mueve a otro grupo, también cambia el grupo al que pertenece. Supongamos que tenemos dos grupos de datos:
Cuando 1 se mueve detrás de 6, el grupo al que pertenece 1 también cambia de A a B.
Los cambios de ordenación no dependen de los datos mostrados en la interfaz
Supongamos que tenemos un conjunto de datos:
La interfaz solo muestra:
Cuando 1 se mueve a la posición de 9, cambiarán las posiciones intermedias de 2, 3, 4, 5, 6, 7 y 8.
La interfaz muestra finalmente:
Enlaces relacionados
- Campos de tablas de datos — Consulta la descripción de los tipos de campo y la asignación de campos
- Bloques de tabla — Utiliza la ordenación mediante arrastrar y soltar en una tabla
- Bloques de tablero — Utiliza la ordenación mediante arrastrar y soltar en un tablero

