Dans cet article, nous allons voir comment ajouter un graphique Silverlight provenant du Silverlight Toolkit de Codeplex sur un site SharePoint Online. Notre graphique se basera sur les données contenues dans une liste SharePoint.
Voici les différentes étapes que nous allons suivre pour mettre en place notre graphique :
Téléchargement et installation du Silverlight Toolkit de Codeplex
Silverlight 3 n’intègre pas en standard de composants permettant d’afficher des graphiques. Afin de pallier à ce manque, Microsoft propose via son site communautaire Codeplex un Toolkit pour Silverlight 3 qui met à disposition ce type de contrôles (et bien d’autres).
Vous pouvez télécharger le Microsoft Silverlight Toolkit sur le site suivant : http://www.codeplex.com/Silverlight
Voici les différentes étapes de l’installation du Toolkit :
Création d’une liste personnalisée sur le site SharePoint Online
Dans cette section nous allons créer une liste personnalisée dans laquelle nous allons stocker le nombre d’habitants des principales grandes villes françaises.
Voici les différentes étapes pour créer cette liste :
Title
Population
Paris
2125851
Marseille
797491
Lyon
445274
Toulouse
390301
Nice
343123
Nantes
270343
Strasbourg
263941
Création d’une application Silverlight
Dans cette section nous allons voir comment créer une application Silverlight intégrant un graphique. Ce graphique consommera les données de la liste créée précédemment via l’utilisation des Web Services SharePoint Online.
Voici les différentes étapes de création de l’application Silverlight :
<chartingToolkit:Chart x:Name="MyChart" Margin="10"> <chartingToolkit:Chart.Series> <chartingToolkit:ColumnSeries Title="Population" IndependentValueBinding="{Binding Title}" DependentValueBinding="{Binding Population}" /> </chartingToolkit:Chart.Series> </chartingToolkit:Chart>
Dans le Tag <UserControl /> ajouter les lignes suivantes :
xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input" xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting; assembly=System.Windows.Controls.DataVisualization.Toolkit"
InitializeComponent(); ListsSoapClient proxy = new ListsSoapClient(); proxy.GetListItemsCompleted += new System.EventHandler<GetListItemsCompletedEventArgs>(proxy_GetListItemsCompleted); XDocument doc = XDocument.Parse("<Document><Query /><ViewFields /><QueryOptions /></Document>"); XElement query = doc.Element("Query"); XElement viewFields = doc.Element("ViewFields"); XElement queryOptions = doc.Element("QueryOptions"); proxy.GetListItemsAsync("Population", "", query, viewFields, "10", queryOptions, "");
void proxy_GetListItemsCompleted(object sender, GetListItemsCompletedEventArgs e) { XElement result = e.Result; var Cities = from x in result.Elements().First().Elements() select new ListResult { Title = x.Attribute("ows_Title").Value, Population = Convert.ToDouble(x.Attribute("ows_Population").Value) }; ColumnSeries cs = MyChart.Series[0] as ColumnSeries; cs.ItemsSource = Cities; }
public class ListResult { public string Title { get; set; } public double Population { get; set; } }
using SilverlightApplications.ServiceReference1; using System.Xml.Linq; using System.Windows.Controls.DataVisualization.Charting;
Déploiement et intégration de l’application Silverlight sur le site SharePoint Online
Dans cette section nous allons voir comment déployer une application Silverlight sur un site SharePoint Online puis comment ajouter cette application dans une page.
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/SilverlightApplications.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40624.0" /> <param name="autoUpgrade" value="true" /> </object>
Attention : il faut remplacer le tag <param name="source" value="ClientBin/SilverlightApplications.xap"/> par <param name="source" value="SilverlightApplications.xap"/>