0

大家早上好。我正在寻求有关在SharePoint 2007中设置库模板的帮助。以下是详细信息:

  • 我有一个包含多个子站点的父站点。

  • 我想设置一个库模板,然后可以将其放置在每个子站点上。这些库将从父站点上的一系列集中列表中提取,以提供元数据选项。这样,我只需要维护一组列表,维护的列表信息将可供每个库使用。

  • 因为这些库存在于主站点的子站点上,所以我不能使用简单的查找。常规查找列类型仅适用于当前站点中的列表。

  • 我可以访问过滤的查找列类型,这似乎是正确的选择,因为它允许我访问父站点上的集中列表。

我希望在基于此模板将文件上传到库时提示用户。选择文件后,将向用户显示要填写的元数据选项列表。

  • 我想让第一个过滤查找为用户提供一个选择列表。这目前可以正常工作。

  • 我希望第二个过滤查找提供基于第一个过滤查找中的选择的过滤选项列表。

  • 有一个 CAML 查询过滤器字符串部分,这是我挂断的地方。如何写一个字符串来引用一个字段而不是一个静态值?

这是我尝试过的。在 Apply Query Filter 字段中,我输入了:

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>Blue</Value>
  </Eq>
</Where>

这有效,但仅提供值为Blue(静态字符串)的结果。我正在寻找一种方法来引用Category的实际选定值。它的效果是:

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>[Category.Value]</Value>
  </Eq>
</Where>

我现在的挂断是我不知道正确的语法,或者这种语法是否存在。

非常感谢您的建议。我不受这种方法的束缚,所以如果有另一种方法可以实现相同的目标,我会很乐意接受它。

4

1 回答 1

0

这是一个老问题,但我刚刚偶然发现它 - 如果用户仍然需要帮助,我想我会回答。您可以通过 2 种方式执行此操作:1. 回调 2. 查询字符串

无论哪种方式都可以正常工作,并将数据提供给您的查询。诀窍是添加一个查找参数,例如:

<ParameterBinding Name="Category" Location="Control(Filter1)" DefaultValue=""/>

或者

<ParameterBinding Name="Category" Location="QueryString(Filter1)" DefaultValue=""/>

然后,您可以在您的 CAML 查询 SPDataSource 选择命令中引用该变量:

<Where>
<Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>{Category}</Value>
  </Eq>
</Where>

{Category} 上面的变量名称是ParameterBinding 提供的名称。

希望这可以帮助。

于 2011-07-25T20:49:35.863 回答