Partager via


Procédure : lier une liste SharePoint au contrôle Grille JS

Dernière modification : vendredi 6 mai 2011

S’applique à : SharePoint Foundation 2010

Cette procédure illustre la liaison d’un Contrôle Grille JS à une liste SharePoint. Dans cette procédure, qui constitue la suite de Procédure : créer une grille JS de base, vous allez créer une liste SharePoint, puis modifier la grille créée dans Procédure : créer une grille JS de base pour lire les données de cette liste SharePoint.

Une liste SharePoint se compose d’éléments, ou de lignes, et de colonnes, ou de champs, qui contiennent des données. La propriété Items retourne la collection d’éléments de la liste, tandis que la propriété Fields retourne la collection de champs de la liste. Pour améliorer les performances, il est conseillé d’utiliser l’une des méthodes GetItem* pour renvoyer une collection filtrée d’éléments à partir de la liste.

Pour plus d’informations sur SPList, voir SPList.

Conditions requises

Notes

Bien que vous puissiez effectuer cette procédure sans recourir à Visual Studio, sa réalisation sera plus aisée si vous utilisez Visual Studio 2010 et les Outils de développement SharePoint dans Visual Studio 2010.

Pour remplir la grille avec les données d’une liste SharePoint

  1. Dans SharePoint Foundation 2010, créez une liste de tâches SharePoint.

    Pour créer une liste de tâches

    1. Dans Actions du site, sélectionnez Autres options.

    2. Sélectionnez Tâches dans la liste de types.

    3. Nommez la liste TaskList.

    4. Ajoutez quatre ou cinq enregistrements à la liste.

  2. Dans Visual Studio, ouvrez GridData.c

    GridData.c contient des définitions pour plusieurs champs qui ne figurent pas dans la liste TaskList. Supprimez les définitions de champ suivantes :

    • Department Manager

    • Department

    • Yearly Estimate

    • FY 2009 Estimate

    • FY 2010 Estimate

    • checkbox

    • Hyperlink

    Le reste de la liste de colonnes se présente comme suit.

                //Columns which map to the TaskList list.
                data.Columns.Add(new DataColumn("Key", typeof(Guid)));
                data.Columns.Add(new DataColumn(GridSerializer.DefaultGridRowStyleIdColumnName, typeof(String)));
                data.Columns.Add(new DataColumn("HierarchyParentKey", typeof(Guid)));
                data.Columns.Add(new DataColumn("Title", typeof(string)));
                data.Columns.Add(new DataColumn("Start Date", typeof(DateTime)));
                data.Columns.Add(new DataColumn("Due Date", typeof(DateTime)));
                data.Columns.Add(new DataColumn("Complete Through", typeof(string)));
    
  3. Remplacez le code qui attribue des valeurs aux champs de la grille par le code suivant.

    // Populate the grid with data from the list.
    // For the sake of simplicity, this sample requests all records from the task list.
    // In the real world, request only the data you really need.
                // Replace SPSite("https://server/site") with your server
                // and site information.
    using (SPSite mySite = new SPSite("https://server/site"))
    {
        using (SPWeb myWeb = mySite.OpenWeb())
        {
    
            SPList taskList = myWeb.Lists["TaskList"];
            DataRow dr;
    
            foreach (SPListItem task in taskList.Items)
            { 
                dr = data.NewRow();
    
                dr["Key"] = task.UniqueId;
                dr["Title"] = task["Title"].ToString(); 
                dr["Start Date"] = task["Start Date"]; 
                dr["Due Date"] = task["Due Date"];
                dr["Complete Through"] = task["% Complete"]; 
    
                data.Rows.Add(dr);
            }
    
        }
    }
    

    Notes

    Veillez à remplacer SPSite("https://server/site") par vos informations de serveur et de site.

  4. Dans Visual Studio, appuyez sur la touche F5 pour exécuter le projet.

    Les données de la liste TaskList doivent être visibles dans le composant WebPart.

Voir aussi

Référence

SPList