Campo "Opción" en lista de Sharepoint

En las listas de SharePoint existe un tipo de campo llamado "Opción".



En el campo "Opción" puedes guardar varios valores separados como en un arreglo.


Para el ejemplo utilizaremos una lista de SharePoint, creamos una ventana y agregamos un Blank vertical gallery, el cual enlazamos con las lista de SharePoint que contiene los periféricos que se seleccionaran, también agregamos un Check Box.


Llamamos el nombre del campo de nuestra lista de SharePoint que mostraremos en el Check Box, agregamos también un TextInput, que será donde teclearemos el nombre del artículo.


En en evento OnCheck del Check Box, tecleamos:

Collect(PerifericosSeleccionado, ThisItem.Opciones_periferico);

Creamos una colección llamada PerifericosSeleccionado, que se llenara con la opción seleccionada.


En en evento OnUnCheck del Check Box, tecleamos:

RemoveIf(PerifericosSeleccionado, Value = ThisItem.Opciones_periferico)

Removera los elementos que se seleccionen del Check Box.


Agregamos un botón y en el evento OnSelect tecleamos:

Patch(
    lista_equipo,
    Defaults(lista_equipo),
    {
        Equipo: TextInput1.Text,
        Perifericos: PerifericosSeleccionado
    }
);

Donde indicamos que se guardara los datos del TextInput1 y de la colección PerifericosSeleccionado a la lista_equipo.


Ejecutamos la App, tecleamos el nombre del artículo, seleccionamos los periféricos y presionamos el botón Grabar.


Revisamos la lista de SharePoint y verificamos que los datos se hayan grabado.


Ahora, para restaurar los valores, crearemos otra Blank vertical gallery, el cual enlazamos con lista_equipo, agregaremos un label que llamara ThisItem.Equipo.


También agregaremos un icono, el cual servira para editar los campos y en el evento OnSelect, tecleamos:

Set(v_equipo, ThisItem.Equipo);
Set(v_perifericos, ThisItem.Perifericos);
Clear(PerifericosSeleccionado);
ForAll(v_perifericos,Collect(PerifericosSeleccionado, ThisRecord.Value););

Donde se almacenará en la variable v_equipo el nombre del artículo y en la colección PerifericosSeleccionado los datos del campo opción Perifericos.


En evento Default del Check Box agregamos:

If(ThisItem.Opciones_periferico in PerifericosSeleccionado ,true,false)

Donde indicamos, si el campo Opciones_perifericos se encuentra en la colección PerifericosSeleccionado, marcara la casilla del Check Box.


En el vento Default del TextInput1 agregamos la variable v_equipo.


En botón Grabar agregamos: 

Set(v_equipo,"");
Clear(PerifericosSeleccionado);
que limpiara los campos después de agregar un nuevo registro.

Ejecutamos la app y agregamos varios registros, cada vez que se grabe el nuevo registro, se limpiaran los campos.
 

Si seleccionamos algún registro de la galeria derecha, se visualizarán los datos en los campos.


Si deseamos grabar las modificaciones podemos crear un nuevo botón y teclear:
Patch(
    lista_equipo,
    LookUp(
        lista_equipo,
        Equipo = TextInput1.Text
    ),
    {
        Perifericos: PerifericosSeleccionado
    }
);
Set(v_equipo,"");
Clear(PerifericosSeleccionado);

pero, solo podremos grabar los cambios en el Check Box, ya que el TextInput1 lo tomaremos como base para buscar el registro.



Publicar un comentario

Artículo Anterior Artículo Siguiente