Sabemos que SharePoint está construido sobre ASP.NET 2.0 y esto nos da una gran cantidad de ventajas disponibles para utilizar componentes de terceros ricos en funcionalidad. Tal es el caso de los componentes de DevExpress empresa de Mark Miller un pionero en la construcción de herramientas de productividad para el desarrollador Delphi y .NET.

En el último proyecto donde participe como programador tuve la oportunidad de implementar la Suite de controles ASPXGridView de DevExpress para soportar un escenario el despliegue de datos de manera jerárquica y la flexibilidad de agrupación dinámica sobre SharePoint.

Utilice el ASPXTreeList y el ASPXGridView, a continuación los pasos para configurar y usar estos objetos. La misma suite tiene archivos WSP para implementar sobre SharePoint los controles, estos WSP automáticamente configuran todo lo necesario para poder usarlos. Sin embargo, aquí dejo los pasos manuales.

Registrar en el Global Assembly Cache los componentes de DevExpress.

  • DevExpress.Data.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Data.v9.3.Linq, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Utils.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxEditors.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxGridView.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxHtmlEditor.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxSpellChecker.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxThemes.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxTreeList.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

Manipular archivos web.config de nuestra aplicación web donde estaremos usando estos componentes y dentro de <SafeControls> agregar lo siguiente:

  • <SafeControl Assembly="DevExpress.Data.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Data" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxEditors.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxEditors" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxSpellChecker.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxSpellChecker" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxHtmlEditor.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TypeName="*" Safe="True" />

Dentro de <httpHandlers> agregar:

  • <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" validate="false" />

Dentro de <httpModules> agregar:

  • <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />

Originalmente publicado en msmvps.com