25 septiembre, 2023

INTEGRANDO ELEMENTOS FIJOS AL INICIO DE UNA LISTA ORDENADA ALFABÉTICAMENTE EN POWER APPS

Hola a todos,

Cuando trabajamos con listbox, combobox o dropdown en Power Apps, puede surgir la necesidad de que tengamos que incluir varios elementos de la lista que estamos mostrando al inicio, independientemente de si está o no ordenada. Es decir, imaginad que tenemos esta lista de secciones de unos grandes almacenes ordenada alfabéticamente:

Con el siguiente código:

Distinct(
    SortByColumns(
        PERSONAS;
        "SECCION";
        SortOrder.Ascending
    );
    SECCION
)

Y lo que queremos es seguir con la lista ordenada pero que los dos primeros elementos de la lista sean: TURISMO Y REGALOS y PERFUMERIA Y COSMETICA y que sean fijos.

Para poder hacer esto, vamos a necesitar la creación de tres colecciones, y aunque no soy muy partidario de utilizarlas debido a las advertencias de delegación, si tenemos una lista de menos de 2.000 elementos no deberíamos de tener problemas.

En este ejemplo voy a crear las colecciones pulsando un botón, pero lo podéis hacer donde mejor os convenga:

ClearCollect(
    MisSecciones1;
    Filter(
        PERSONAS;
        SECCION = "TURISMO Y REGALOS" Or SECCION = "PERFUMERIA Y COSMETICA"
    )
);;
ClearCollect(
    MisSecciones2;
    SortByColumns(
        PERSONAS;
        "SECCION";
        SortOrder.Ascending
    )
);;
ClearCollect(
    ColeccionFinal;
    MisSecciones1;
    MisSecciones2
);;

En la primera colección que he denominado MisSecciones1, he incluido las dos secciones que me interesa incluir al principio. Debéis tener en cuenta que estoy trabajando con una base de datos de personas y que por lo tanto las secciones se repiten tantas veces como personas asignadas tengan en su plantilla.

La segunda colección es la de toda la plantilla ordenada alfabéticamente, MisSecciones2.

Y la última simplemente es la unión de ambas, de forma que quedarán los dos registros al inicio y el resto seguirá ordenado. Podéis ver las colecciones que tenéis en vuestro proyecto en la sección: variables.

El siguiente paso es mostrar como visualizamos esto en nuestro listbox:

Distinct(
    ColeccionFinal;
    SECCION
)

Como podéis ver, este es el código que incluiríamos en la propiedad Ítems. Donde la fuente de datos ya no es la lista de SharePoint (PERSONAS), sino la colección ColeccionFinal.

Y el resultado final sería este:

Con los dos campos que necesitamos el inicio de nuestro listbox.

Y esto es todo, espero que sea de utilidad.

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Un comentario en «INTEGRANDO ELEMENTOS FIJOS AL INICIO DE UNA LISTA ORDENADA ALFABÉTICAMENTE EN POWER APPS»

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies