3

我正在使用 SQL Server 2008 和 Report Builder 2.0 来尝试从 Sharepoint 列表中查询数据,如本教程中所述。报表设置为使用连接字符串设置为 的 XML 数据源http://mySharepointSite/_vti_bin/lists.asmx

但是,我似乎无法从 Sharepoint 列表中获取所有字段,即使我指定了一个视图,其中专门包含我想要的字段而不再包含更多字段。根据我操作查询的方式,我似乎获得了 Release 字段Theme 字段,但不能同时获得两者。这是我现在的查询:

<Query><SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
   <Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
      <Parameters>
         <Parameter Name="listName">
            <DefaultValue>{8529D70B-D632-4CC8-A1E7-2C25F29BE1E0}</DefaultValue>
         </Parameter>
         <Parameter Name="viewName">
            <DefaultValue>{2FC6AA42-EA95-4C18-AB07-33E25EBBA85D}</DefaultValue>
            <ViewFields>
               <FieldRef Name="Resolve_x0020__x0023_" />
               <FieldRef Name="Product" />
               <FieldRef Name="Release" />
               <FieldRef Name="Theme" />
               <FieldRef Name="Pre_x002d_Req_x0020_Estimate" />
            </ViewFields>
         </Parameter>
      </Parameters>
   </Method>
   <ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>

当我使用带有内置 Sharepoint List 数据源类型的 Report Builder 3.0 进行测试时,它能够在我的 List 中看到 Theme 和 Release 字段。但是,当我没有获得给定列表和视图中的所有字段时,有谁知道 Report Builder 2.0 发生了什么?

更新: 针对 nelsonwebs 的问题:

  1. “该列表是否包含 InfoPath 表单?” 我不知道?它看起来只包含文本数据。
  2. “列表数据如何输入到列中?” 我不确定你在问什么。Sharepoint 中的数据是由其他人输入的,我想他们只是使用通常的 Sharepoint 方式(将新项目添加到列表中)。
  3. “您是否对列表进行了自定义,例如添加/调整内容类型?” 这是一个列表,在我们的 Sharepoint 网站上已经存在了一段时间,它已经过定制,具有数字、多行文本和选择等字段类型,但我认为这些只是默认的 Sharepoint 类型。
4

1 回答 1

1

Jin Chen 在Microsoft 论坛上为我找到了解决方案。显然,当一个字段具有空值时,即使该字段在您想要的视图中,它也不会返回该字段。ElementPath诀窍是在标签中明确列出您想要的字段:

<ElementPath IgnoreNamespaces="true">
    GetListItemsResponse/GetListItemsResult/listitems/data/row{@field1,@field2,@field3,@field4}
</ElementPath>
于 2010-02-05T17:34:23.327 回答