Power Apps TIP – Calcular el índice de los elementos dentro de un gallery
Caso de uso
Digamos que tienes un gallery mostrando cierto contenido de un datasource (en el ejemplo debajo se utiliza el datasource de ejemplo provisto nativamente por PowerApps cuando uno añade un gallery a la pantalla, en este caso un gallery horizontal):
Meta
En ese gallery queremos mostrar el índice de cada elemento del datasource sin tener que agregar una columna incrementando cada valor iterado. (Agreguen un comentario pidiéndolo y les mostraremos como se hace)
Truco
Tenga bien presente que el datasource es llamado CustomGallerySample y que este está estructurado de la siguiente forma:
Formula mágica :)
Una simple formula colocada en un label con fondo Amarillo (dentro del gallery) nos permite calcular el índice:
menucemos y analicemos como la formula actúa sobre el tercer elemento del gallery: Lorem ipsum 3
Paso 1
Usando la función Concat () iniciamos por concatenar en un string uno de los campos del datasource el cual debe ser un identificador único de cada elemento (PrimaryKey). El resultado se verá así:
Recomendado por LinkedIn
Paso 2
Luego, usando la función Split () dividimos el string en 2 partes desde el valor del elemento actual de gallery (en este caso ThisItem.SampleHeading). Recordemos que estamos analizando el tercer elemento de nuestro gallery. Así que el resultado lucirá así:
Paso 3
Usando la función First() devolvemos el primer elemento de la tabla, el cual será:
Paso 4
Usando la función Split () otra vez, dividimos ese elemento justo desde nuestro separador en este caso “|”, entonces nos quedaría la siguiente table:
Paso 5
Con la función CountRows() contamos la cantidad de filas en la table en este caso 3. Y así conseguimos el índice de un gallery.
Advertencia
Asegúrate de que en el paso 2 se ha divide una columna con un identificador único para cada elemento de tu datasource.
La fórmula por copiar es:
CountRows(Split(First(Split(Concat(CustomGallerySample, SampleHeading, "|"), ThisItem.SampleHeading)).Result, "|"))
Analista de Mejora Continua en Camposol
1 añoHola, muy buen post. Podrías por favor ayudarme a agregar una columna autoincrementada que propones como alternativa?