WSS 3.0 & MOSS: Uso de los .NET 3.5 Chart Controls en SharePoint!

Hace unos meses os hablaba de que Microsoft había liberado los Microsoft chart Controls para .NET Framework 3.5. Estos controles, basados en los excelentes componentes de visualización de Dundas nos permiten añadir gráficos visualmente ricos a nuestras aplicaciones ASP.NET y Windows Forms. Para poder utilizarlos en nuestros desarrollos, necesitaremos:

Con los requisitos previos, ya estamos listos para empezar a usar los Chart Controls en nuestras aplicaciones:

  • En mi caso, he creado un proyecto de tipo aplicación ASP.NET.
  • En el markup de la página Default he añadido el código que tenéis más abajo.
  • A través de la opción View in Browser comprobamos que el gráfico se visualiza correctamente y que tiene una pinta interesante.
image image image

Este es el código que he añadido a la página ASP.NET del proyecto:

    <title>Untitled Page</title>

    <script runat="server">

        protected void Page_Load(object sender, EventArgs e)

        {

            Series series = new Series("Spline");

            series.ChartType = SeriesChartType.Spline;

            series.BorderWidth = 3;

            series.ShadowOffset = 2;

 

            series.Points.Add(67);

            series.Points.Add(57);

            series.Points.Add(83);

            series.Points.Add(23);

            series.Points.Add(70);

            series.Points.Add(60);

            series.Points.Add(90);

            series.Points.Add(20);

            Chart1.Series.Add(series);

        }

    </script>

Llevando la página a SharePoint

Para poder desplegar la página en SharePoint, y yendo a lo fácil:

  • En primer lugar, modificamos la etiqueta Page de nuestra página para que sólo contenga:

<%@ Page Language="C#"%>

  • Modificamos el web.config de nuestro sitio de SharePoint para:
    • Permitir la ejecución de páginas ASP.NET con código InLine (no es una buena práctica, pero nos sirve para propósitos demostrativos) modificando la sección <PagePaserPaths>:

      <PageParserPaths>

                        <PageParserPath VirtualPath="/Shared Documents/*" AllowServerSideScript="true" CompilationMode="Always"/>

      </PageParserPaths>

    • Añadimos el ensamblado de los Chart Controls en la sección <SafeControls>:

      <SafeControl Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  Namespace="System.Web.UI.DataVisualization.Charting" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>

    • Añadimos a la sección <httpHandlers>:

<add verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

    • Añadimos debajo de </System.Workflow.Componentmodel.WorkflowCompiler> la siguiente sección <appSettings> (Nota: En MOSS posiblemente esta sección ya exista por lo que con añadir la linea referente a los Chart Controls es suficiente).

<appSettings>

    <add key="ChartImageHandler" value="storage=memory;timeout=20;URL=/_layouts/Images/MicrosoftChartControls/" />

</appSettings>

  • Creamos dentro de la carpeta Images del directorio 12 una carpeta con las imágenes que necesitan los Chart Control (estas imágenes las podemos obtener de los ejemplos de Chart Controls para ASP.NET).
  • Subimos la página a la biblioteca de documentos y comprobamos que funciona sin problemas.
image image

Y hasta aquí llega este post sobre como usar los Chart Controls de forma sencilla en sitios de SharePoint. Espero que el post os haya resultado interesante.

Fuente: Use Microsoft Chart Controls for .NET Framework in a SharePoint web site.

2 pensamientos en “WSS 3.0 & MOSS: Uso de los .NET 3.5 Chart Controls en SharePoint!

  1. Hola,me gusto tu post, he venido trabajando en esta grafica y ya me imaginaba que asi como tu planteas era la forma de usar MSChart en sharepoint, sin embargo quiero saber si has probado usarla en una webpart que trabaje solamente con clases para trabajarla en sharepoint?, de no ser asi, tu crees que exista la forma o inevitablemente hay que usar una pagina ASP.NET

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s