Posts recientes

El contenido de este blog tiene una licencia Creative Commons.
Creative Commons

Desplegables en cascada en Infopath 2010

Aunque con Infopath 2007 ya se podían realizar listas desplegables en cascada aplicando filtros en el campo correspondiente, teníamos la limitación de que no se podía utilizar para los formularios web (como desde una intranet Sharepoint).

Sin embargo, en la nueva versión de Infopath, esto ya está resuelto, ya que se ha trabajado bastante la integración entre Sharepoint 2010 e Infopath 2010.

Para ver cómo podemos hacer un desplegable en cascada, os dejo unos sencillos pasos, con unas capturas de pantalla:

En nuestro entorno, tenemos un típico caso con una lista Paises, y una Provincias, en la que cada una de las provincias pertenece a un país. Así que al control desplegable "Pais", le asignamos el Origen de datos que devuelve los países de la lista, de forma convencional.

Y al campo Provincias, seguimos el mismo procedimiento.

Sólo debemos tener en cuenta que al elegir los campos, en el asistente para la conexión de datos, tendremos que seleccionar también el campo Pais de la lista de Provincias:

Ahora, aplicamos un filtro. Haciendo click en el icono "Seleccionar XPath" de "Entradas":

En esta ventana, añadimos un filtro de datos:

Y seleccionamos mostrar los datos que cumplan las siguientes condiciones:

El Pais de la provincia, debe ser igual al país seleccionado en el anterior desplegable (del origen de datos principal)

En la segunda parte de la igualdad seleccionamos un campo:

 

Aceptamos la creación del filtro:

 

 

Dándole una vuelta de tuerca más al tema de los desplegables en cascada, es posible que los necesitemos insertar en una Tabla extensible.

En este caso, nostros tenemos unos "tipos de actividad", de los que dependen "subtipos de actividad" como entidades débiles en base de datos.

 

En este caso, el desplegable no se puede hacer en cascada simplemente con filtros, así que después de enlazar cada control con su fuente de datos, igual que en el apartado anterior, la carga de los datos en el control de la entidad débil (subtipo) hemos decidido hacerla con código.

Para ello, usamos el evento "Changed" del desplegable de la entidad fuerte (en nuestro caso el tipo de actividad):

 

 

Dentro del código: public void ExperienciaTipusActivitat_Changed (object sender, XmlEventArgs e) tendremos en cuenta de que si queremos que sea compatible con web, no podemos identificar el control que genera el evento (XmlEventArgs e) por su dirección con la propiedad Match.

public void ExperienciaTipusActivitat_Changed(object sender, XmlEventArgs e) { 
	XPathNavigator form = MainDataSource.CreateNavigator(); 
	XPathNavigator selectedSubtipusActivitat = e.Site.SelectSingleNode("../my:ExperienciaSuptipusActivitat", NamespaceManager); 
	if (selectedSubtipusActivitat != null){ 
		string subtipo = selectedSubtipusActivitat.Value; 
		string tipo = e.Site.Value; 
		XPathNavigator navProv = DataSources["ObtenirTipusActivitatsSubtipus"].CreateNavigator(); 
		if (navProv.Select("//d:SharePointListItem_RW[d:TipusActivitat='" + tipo + "' and d:ID='" + subtipo + "']", NamespaceManager).Count == 0)
		{selectedSubtipusActivitat.SetValue(""); }
	} 
}
Autor: Isabel Cabezas
Publicado: 25/01/2011  10:16 | 0  Comentarios | 0  Enlaces a este post

Duet Enterprise for Microsoft SharePoint and SAP

El próxima día 1 de febrero Microsoft presentará Duet Enterprise, un producto desarrollado conjuntamente por las dos compañías que combina las aplicaciones SAP con Microsoft SharePoint. Permite interactuar de forma rápida y fácil con los procesos de negocio SAP y datos a través de una interfaz familiar.

Para más información podéis acceder a https://partner.microsoft.com/global/productssolutions/40135752

Autor: Anna Vilalta Gili
Publicado: 24/01/2011  10:36 | 0  Comentarios | 0  Enlaces a este post

LINQ to ADO.Net

LINQ to ADO.NET permite consultar objetos enumerables en ADO.NET mediante el uso del modelo de programación de LINQ (Language-Integrated Query).

Hay tres tecnologías ADO.NET Language-Integrated Query (LINQ) distintas: LINQ to DataSet, LINQ to SQL y LINQ to Entities. LINQ to DataSet proporciona una capacidad de consulta más rica y optimizada sobre Dataset, LINQ to SQL permite consultar directamente los esquemas de la base de datos de SQL Server y LINQ to Entities permite consultar Entity Data Model.

LINQ to DataSet

DataSet es uno de los componentes más utilizados en ADO.NET y es un elemento clave del modelo de programación desconectado en el que se basa ADO.NET. A pesar de este punto destacado, DataSet tiene funciones de consulta limitadas.

LINQ to DataSet permite integrar funciones de consulta más completas en DataSet mediante la misma funcionalidad de consulta que está disponible para muchos otros orígenes de datos.

LINQ to SQL

LINQ to SQL proporciona una infraestructura en tiempo de ejecución para administrar los datos relacionales como objetos. En LINQ to SQL, el modelo de datos de una base de datos relacional se asigna a un modelo de objetos expresado en el lenguaje de programación del programador. Al ejecutar la aplicación, LINQ to SQL convierte las consultas integradas en el lenguaje del modelo de objetos a SQL y las envía a la base de datos para su ejecución. Cuando la base de datos devuelve los resultados, LINQ to SQL los vuelve a convertir en objetos que se pueden manipular.

LINQ to SQL incluye compatibilidad con los procedimientos almacenados y las funciones definidas por el usuario en la base de datos, así como con la herencia del modelo de objetos.

LINQ to Entities

A través del Entity Data Model, los datos relacionales se exponen como objetos en el entorno .NET. Esto hace de la capa de objetos un objetivo idóneo para la compatibilidad con LINQ, ya que permite a los programadores formular consultas en la base de datos con el lenguaje utilizado para generar la lógica empresarial. Esta función se conoce como LINQ to Entities.

Autor: David Acosta Lesmes
Publicado: 19/01/2011  15:08 | 0  Comentarios | 0  Enlaces a este post

"Invalid Keycode" en Crystal Report con VS2010

Este mensaje aparece en el entorno de desarrollo de VS2010 cuando intentas acceder al diseño de un report generado con Crystal Report que hasta ahora funcionaba sin ningún problema.
El motivo es, seguramente, que el report en cuestión, fue diseñado con la versión Beta de Crystal Report para Visual Studio 2010 que, precisamente, caducó el 31 de Diciembre de 2010.
Para solucionar el problema y poder acceder de nuevo al diseño de estos informes tendremos que inicialmente desinstalar la versión Beta que tenemos instalada ("Crystal Reports for Visual Studio 2010 - Beta x") e instalar la nueva release que puedes descargar desde http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0.exe.
Autor: Emilio Martín
Publicado: 04/01/2011  13:19 | 0  Comentarios | 0  Enlaces a este post