Enlazar dos combos en Cascada en Microsoft InfoPath con listas de SharePoint

por Franco Beperet  29. noviembre 2011

Uno de los temas más comunes a la hora de configurar un formulario digital es el de establecer una dependencia entre dos (o más) combos, es decir, que en base a lo seleccionado en el primer combo se filtren los datos que le corresponde a la opción seleccionada del primer combo en el segundo combo.

Un ejemplo común, y seguramente ya utilizado en algún formulario de la Web, es el de tener dos combos, uno con ‘Provincias’ y otro de ‘Ciudades’ que se basa a lo seleccionado en ‘Provincias’, a su el combo ‘Provincias’ puede depender de un combo padre que sea ‘Países’ y el combo de ‘Ciudades’ tener un combo hijo llamado ‘Barrio’.

En nuestro ejemplo para Microsoft InfoPath trabajaremos con los combos ‘Provincias’ y ‘Ciudades’…

- Configuración Lado SharePoint

Empecemos, lo primero que tendríamos que configurar son las listas en nuestro sitio SharePoint. Primero creamos la lista de ‘Provincias’ (hay que respetar el orden de creación, después se vera porque motivo) configurándola para que al cargarle datos quede de la siguiente manera:

ListaProvincias

Luego crearemos la lista de ‘Ciudades’ a la cual le crearemos dos columnas una de ‘Ciudad’ y otra de ‘Provincia’ con la siguiente configuración:

ConfiguracionListaCiudad

Acá se ve que el motivo de crear primero la lista ‘Provincias’ es porque en la columna ‘Provincia’ de la lista ‘Ciudades’ hay que hacer una referencia a la respectiva columna de la primer lista.

Una vez finalizada la configuración, hay que cargarle los datos para que nos termine quedando la lista de la siguiente forma:

ListaCiudades

Teniendo esto finalizado, ya tenemos nuestra configuración del lado SharePoint finalizado, solo nos queda configurar el lado InfoPath…

- Configuración Lado InfoPath

En el formulario tenemos que crear las conexiones que reciben datos de las listas de nuestro sitio, para ello:

  1. Abrimos nuestro formulario InfoPath.
  2. Vamos a Datos –> Obtener datos externos –> Desde la Lista de SharePoint.
  3. Insertamos la URL de nuestro sitio y luego elegimos la lista ‘Provincias’.
  4. Tildamos las siguientes opciones:RecibirListaProvincia
  5. Tildamos ‘Recuperar datos automáticamente cuando se abre un formulario’ y finalizamos.
  6. Repetimos el punto 3 y punto 4 pero seleccionando la lista ‘Ciudades’.
  7. Tildamos las siguientes opciones:RecibirListaCiudad
  8. Tildamos ‘Recuperar datos automáticamente cuando se abre un formulario’ y finalizamos.

 

Ya tenemos nuestras dos conexiones configuradas. El paso siguiente a las conexiones es configurar los combos…

  1. En las propiedades del combo correspondiente a ‘Provincias’ tildamos sobre ‘Obtener datos de un origen de datos externo’.
  2. Configuramos de la siguiente manera:PropiedadesComboProvincias
  3. Repetimos el Paso 1 pero lo dejamos configurado de la siguiente manera:PropiedadesComboCiudades

 

Ahora hacemos click derecho en el combo de ‘Provincias’ y seleccionamos ‘Reglas’ –> ‘Administrar reglas’ y configuramos la siguiente regla…

  1. Creamos nueva regla del tipo Acción y le colocamos un nombre.
  2. La condición tiene que ser cuando el combo no está en blanco.
  3. Agregamos una acción que sea ‘Establecer el valor de un campo’.
  4. La configuración de esta acción tiene que ser:

- Campo es igual a: ValorCampoRegla- Valor es igual a:ValorRegla

Después agregamos otra acción a la misma regla que sea ‘Realizar consulta usando una conexión de datos’ que tenga como conexión de datos la de ‘Ciudades’ (depende el nombre que se la halla puesto cuando se creo la conexión).

La regla debe quedar de la siguiente forma:

Regla

Hacer una vista previa y comprobar que se va filtrando el combo de ‘Ciudades’ en base a lo seleccionado en el combo de ‘Provincias’.

Tags: ,

Sharepoint

Acerca de los Autores

Este es el blog del equipo de VEMN SA 
Presentaremos temas que nos parezcan de interés sobre tecnología .NET, Procesos y Metodologías y todo aquello relacionado con el proceso de desarrollo de Software

Month List

BlogRoll

Download OPML file OPML