SharePoint 2010: Trabajo programático con listas externas (I)!

De la misma forma que podemos trabajar con listas convencionales de SharePoint mediante la API, podemos trabajar con las listas de tipo externo que nos permiten integrar datos de nuestros sistemas de negocio en SharePoint. A modo de ejemplo, vamos a ver cómo acceder a los datos de una lista externa de SharePoint que muestra los datos de la BD AdventureWorksLT:

  • En Visual Studio 2010 creamos un proyecto de tipo “Empty SharePoint Project” y especificamos como tipo de despliegue “Deploy as a farm solution”.
  • Añadimos al proyecto un elemento de tipo Visual Web Part. A través del diseñador de Visual Studio 2010, añadimos un control de tipo GridView:
  • Nos vamos a la vista de código de la WebPart y añadimos directivas using a Microsoft.SharePoint y System.Data.
  • Codificamos el método Page_Load() de acuerdo al listado que se muestra a continuación.
  • Compilamos el proyecto y si no hay errores, desplegamos la WebPart en nuestro sitio de pruebas.
  • Añadimos la WebPart en una página de WebParts y comprobamos que muestra la información de la lista externa como se espera.
   1: using System;

   2: using System.Web.UI;

   3: using System.Web.UI.WebControls;

   4: using System.Web.UI.WebControls.WebParts;

   5:  

   6: //Espacios de nombres necesarios

   7: using Microsoft.SharePoint;

   8: using System.Data;

   9:  

  10: namespace SPExternalLists.SPContactosWP

  11: {

  12:     public partial class SPContactosWPUserControl : UserControl

  13:     {

  14:         protected void Page_Load(object sender, EventArgs e)

  15:         {

  16:             if (!Page.IsPostBack)

  17:             {

  18:                 using (SPSite spsSitio = SPContext.Current.Site)

  19:                 {

  20:                     using (SPWeb spwWeb = spsSitio.OpenWeb())

  21:                     {

  22:                         DataTable dtContactos = new DataTable();

  23:                         

  24:                         dtContactos.Columns.Add("CustomerID");

  25:                         dtContactos.Columns.Add("FirstName");

  26:                         dtContactos.Columns.Add("LastName");

  27:                         dtContactos.Columns.Add("CompanyName");

  28:  

  29:                         SPList splExternalList = spwWeb.Lists["Contactos"];

  30:                         SPListItemCollection splicContactosCollection = splExternalList.Items;

  31:                         foreach (SPListItem spliContacto in splicContactosCollection)

  32:                         {

  33:                             DataRow dtrContato=dtContactos.NewRow();

  34:                             dtrContato["CustomerID"] = spliContacto["CustomerID"].ToString();

  35:                             dtrContato["FirstName"] = spliContacto["FirstName"].ToString();

  36:                             dtrContato["LastName"] = spliContacto["LastName"].ToString();

  37:                             dtrContato["CompanyName"] = spliContacto["CompanyName"].ToString();

  38:                             dtContactos.Rows.Add(dtrContato);

  39:                         }

  40:                         grdContactos.DataSource = dtContactos;

  41:                         grdContactos.DataBind();

  42:  

  43:                     }

  44:                 }

  45:             }

  46:         }

  47:     }

  48: }

  • Compilamos el proyecto y si no hay errores, desplegamos la WebPart en nuestro sitio de pruebas.
  • Añadimos la WebPart en una página de WebParts y comprobamos que muestra la información de la lista externa como se espera.
image image image

Y hasta aquí llega este primer post sobre como trabajar con listas externas de forma programática.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *