如何:将 SharePoint 列表链接到 JS 网格控件

上次修改时间: 2011年5月6日

适用范围: SharePoint Foundation 2010

本帮助主题演示如何将 JS 网格控件链接到 SharePoint 列表,它是如何:创建基本 JS 网格的后续内容,您将在本主题中创建一个 SharePoint 列表,然后修改在如何:创建基本 JS 网格中创建的网格,以便从该 SharePoint 列表读取数据。

SharePoint 列表由包含数据的项目、行和列或字段组成。Items 属性返回列表中各项的集合,Fields 属性返回列表中各字段的集合。若要改进性能,应该使用 GetItem* 方法之一从列表返回经筛选的项目集合。

有关 SPList 的详细信息,请参阅 SPList

先决条件

  • Microsoft SharePoint Foundation 2010

  • Microsoft Visual Studio 2010

  • Microsoft Visual Studio 2010 中的 SharePoint 开发工具

  • 完成如何:创建基本 JS 网格

备注

尽管不使用 Visual Studio 即可完成本演练,但使用 Visual Studio 2010 和 Visual Studio 2010 中的 SharePoint 开发工具会更轻松。

使用 SharePoint 列表中的数据填充网格

  1. 在 SharePoint Foundation 2010 中,创建一个 SharePoint 任务列表。

    创建任务列表

    1. 在"网站操作"菜单上,选择"其他选项"。

    2. 从类型列表中选择"任务"。

    3. 将该列表命名为 TaskList。

    4. 向列表中添加 4 或 5 条记录。

  2. 在 Visual Studio 中,打开 GridData.c。

    GridData.c 包含不在 TaskList 列表中的多个字段的定义。删除以下字段定义:

    • 部门经理

    • 部门

    • 年度估计

    • 2009 财年估计

    • 2010 财年估计

    • 复选框

    • 超链接

    列的其余列表如下所示。

                //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. 使用以下内容替换为网格字段分配值的代码。

    // 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);
            }
    
        }
    }
    

    备注

    务必将 SPSite("https://server/site") 替换为您的服务器和网站信息。

  4. 在 Visual Studio 中,按 F5 运行该项目。

    TaskList 列表中的数据应显示在 Web 部件中。

请参阅

引用

SPList